熱心な Linux ユーザーの周りで時間を過ごすと、「スワップ スペース」についての言及を耳にすることになるでしょう。あるいは、Linux インストール プログラムが作成したスワップ パーティションが何なのか疑問に思ったことがあるかもしれません。仮想メモリとスワップ領域は混乱を招く可能性があります。 Linux に関して知っておくべきことは次のとおりです。
仮想メモリとは何ですか?
メモリのより柔軟な見方
多くの人が「スワップ」と「仮想メモリ」を混同しています。仮想メモリは、コンピュータのメモリを物理 RAM 上で抽象化する技術です。
VirtualBox などのプログラムで別のコンピューター全体を作成して、さまざまなオペレーティング システムを実行できる仮想マシンの概念に精通している場合は、仮想メモリも同様の概念です。仮想メモリは、コンピュータのメモリを表現したもので、オペレーティング システムがマシンの RAM スティックによって制限されないメモリのイメージを表示するために使用します。
これを可能にするハードウェアが CPU 上にあり、それがメモリ管理ユニット (MMU) です。 MMU はメモリを「ページ」に分割します。また、MMU はプログラムが相互に干渉することを防ぎます。これは、Linux のようなマルチタスク、マルチユーザー オペレーティング システムでは重要です。
ページ サイズはハード ドライブや SSD のストレージ ブロックと同じサイズになる傾向があります。これが仮想メモリの主な利点であり、システム RAM とハード ドライブの一部の両方を含む大規模で統一されたアドレス空間が作成されます。このアプローチにより、マシンに十分な物理 RAM がない場合でも、システムはより多くのより大規模なプログラムを実行できるようになります。
この技術は最初、複数のユーザー間で共有する必要があるメインフレームやミニコンピューター向けに開発されました。仮想メモリにより、物理メモリの必要性が減り、顧客は物理 RAM の少ないマシンを購入してコストを節約できるようになりました。
オペレーティング システムは、メモリ ページが RAM とディスク (従来の回転するハード ドライブまたは SSD のいずれであっても、メイン ストレージを指す場合に「ディスク」という用語を使用します) 上に分散されており、これらのページをメイン メモリとの間で「交換」できます。オペレーティング システムは、アクティブに使用されているページを「スワップイン」、つまり物理 RAM 内に維持しようとする傾向があります。これは、特に SSD が容易に入手できるようになる前の時代には、伝統的に RAM がディスクよりも高速であったためです。
このアプローチにより、実際に使用しているプログラムおよびプログラムの一部を、遅いディスクではなく高速な RAM でアクティブにすることができます。仮想メモリを無効にすると、アクティブなプログラムをすべてメモリ内に保持する必要があるため、逆説的にシステムの速度が低下する可能性があります。 Linux.com によると、多くのプログラムは起動時に大量のページを作成しますが、カーネルはページをバックグラウンドに移動し、優先度の高いページは仮想メモリを備えた RAM に残ります。
システムに十分な物理 RAM がない場合、OS は RAM との間でページを絶えずスワップし、追いつくことができなくなります。この問題は、従来のハード ドライブの速度が遅いことでさらに悪化します。これにより、システムが実質的に使用できなくなり、「スラッシング」として知られる問題が発生します。不十分な RAM によるスラッシングが、仮想メモリがパワー ユーザー、少なくとも自分をコンピュータの熟練者だと思っている人々の間で評判が悪くなった理由であり、完全に無効にすることを避ける人さえいました。これは悪い考えです。アクティブに使用される部分を仮想メモリを使用して RAM に配置すると、より効率的になります。
最近の SSD の導入における仮想メモリに関するもう 1 つの主な懸念は、特に RAM がマザーボードにはんだ付けされておりアップグレードできない最新のラップトップでは、RAM 数が少ないため SSD が早期に消耗する可能性があることです。これがデスクトップの通常の使用において実際的な問題となるという証拠はあまりありません。集中的な仕事や AAA ゲームを行う場合は、いずれにしてもより多くの RAM が必要になります。
スワップスペースとは何ですか?
ファイルまたはパーティション内のページのパーキング
スワップアウトされたページを保持するストレージの領域は、スワップ スペースと呼ばれます。
Linux には、スワップ領域を実装するための 2 つのアプローチがあります。最も一般的なのは、ディスク パーティションを専用にすることです。スワップ パーティションの経験則は、マシンの物理 RAM の 2 倍でした。これは、ディスクをパーティション分割するときに、ほとんどの Linux インストールでデフォルトで提案されるものです。このアプローチの欠点は、RAM をアップグレードすると、スワップ パーティションも拡張する必要があることです。従来のハード ドライブの動作方法により、スワップ パーティションはディスク上の最初のパーティションになることがよくあります。プラッターの内側に向かってシークする方が速いため、インストール プログラムはここにスワップ パーティションを配置します。
もう 1 つのアプローチはスワップ ファイルです。これは名前が示すように、Linux ファイル システム内の専用ファイルです。物理 RAM が変更された場合でも簡単にサイズを変更できるため、専用のスワップ パーティションよりも柔軟性が高くなります。これは、Windows が仮想メモリに使用するアプローチです。これは、Linux の世界では専用パーティションのアプローチよりもはるかに一般的ではありません。
パーティションを交換しますか、それともファイルを交換しますか?
伝統と柔軟性
Linux では専用パーティションのアプローチが最も一般的のようです。おそらくほとんどの人は、Linux インストール プログラムと同じことを行うでしょう。 Linux インストールの大部分は依然としてスワップ パーティションを好みます。
RAM を頻繁にアップグレードする場合、または単純なパーティション構成を好む場合は、スワップ ファイルを選択することをお勧めします。スワップ領域をまったく使用せずにシステムを実行することもできますが、メモリが完全に不足してしまう可能性があります。スワップのない Linux システムは、通常、組み込みシステム コントローラーなどのニッチなアプリケーションに使用されます。
スワップスペースはどれくらいですか?
従来の「物理 RAM の 2 倍」ルールを再考する
必要なスワップ領域の量についての従来の経験則は、物理メモリの 2 倍でした。これは、マシンの RAM が現在よりもはるかに少ない傾向にあった時代のものです。 Linux を含む最新の OS ははるかに機能が優れているため、この考え方は依然として維持される可能性があります。最新のマシンのほとんどは休止状態をサポートしており、その機能はスワップ領域を使用してシステムの状態を保存します。この機能を利用する場合、スワップ領域は多いほど良いでしょう。物理 RAM の量は、スワップ領域の最低限のものであると考える必要があります。
スラッシングを修正する唯一の方法
システムの途切れ?おそらくより多くの RAM が必要です
スラッシングに悩まされている場合は、システムの「スワップ性」、つまりページの入出力のスワップの積極性を調整してみるとよいでしょう。これは一時的な修正にすぎません。
特に RAM の価格を考えると、この答えは気に入らないかもしれませんが、スワップを修正する唯一の信頼できる方法は RAM を追加することです
Linux の縁の下の力持ち
スワップ領域については、最新の Linux システムを使用しているほとんどの人は、何か問題が発生するまで考えません。仮想メモリは最新のデスクトップの使用を可能にしますが、それは限界があります。その仕組みとその制限を理解すると、次回のインストールで Linux 上のスワップ領域をより効果的に使用するのに役立ちます。
- オペレーティング·システム
-
Ubuntu Linux 22.04 LTS
- CPU
-
第13世代インテル Core i7-1360P
- GPU
-
インテル Iris Xe グラフィックス
- ラム
-
16GB DDR5
- ストレージ
-
512GB SSD
- 重さ
-
2.71ポンド
Dell XPS 13 Plus with Linux は、強力なハードウェアと優れた画面を軽量で見栄えの良いシャーシに組み合わせ、素晴らしい Linux ラップトップを作成します。
関連情報は以下のリンクからご確認いただけます