Linux
 Computer >> コンピューター >  >> システム >> Linux

Linuxでのスワップパーティションについて知っておくべきこと

Linuxでのスワップパーティションについて知っておくべきこと

Linuxをインストールすると、セットアッププロセスにより、Linux自体のパーティションとともにスワップパーティションがハードディスクに追加される可能性があります。しかし、このスワップパーティションは何に使用され、本当に必要ですか?

スワップとは何ですか?

マルチタスクオペレーティングシステムの物理メモリが不足すると、新しいプロセスを開始したり、既存のプロセスにより多くのメモリを割り当てたりすることができなくなります。この問題を解決するために、ローカルストレージ(多くの場合、ハードドライブ)上の特別なスペースブロックが、現在実行されていないプロセスの一時的な保持領域として機能するように確保されています。 OSは、非アクティブなプロセスをメモリからハードディスクに「スワップ」します。これにより、新しい作業のためにメモリが解放されます。非アクティブなプロセスが再びアクティブになると、ローカルストレージからメモリにスワップバックされます。この手順はスワッピングと呼ばれます。

スワップスペースは本当に必要ですか?

スワップスペースは技術的に必要ですか?いいえ。Linuxはそれがなくても動作し、組み込みソリューションなどの状況では、Linuxはスワップなしで実行できます。 OSに十分なメモリがない状況になると、OSはパニックに陥って停止します。十分な物理RAMがあれば、マシンは問題なく動作します。

スワップスペースは実際に必要ですか?はい。スワッピングはコンピュータの速度を低下させ(ハードディスクへの読み取りと書き込みはRAMへのアクセスよりもはるかに遅いため)、スワッピングを回避するための最善の解決策はボード上に多くの物理メモリを搭載することですが、スワッピングが望ましい正当な状況があります。たとえば、システムの起動中に、実行されている(したがって、システムメモリを消費している)プロセスが存在する可能性がありますが、その後、非常に長い時間効果的にスリープします。または、割り当てられ、書き込まれ、その後二度と使用されないメモリ。このような状況では、スワッピングアルゴリズムがこのメモリのハードディスクへの移行を開始し、貴重なシステムメモリを解放します。これにより、実際には常に最大量のRAMを使用できるようになり、パフォーマンスが向上します。

Linuxでのスワップパーティションについて知っておくべきこと

すべてをメモリに常駐させるのに十分な物理RAMがないマシンでは、スワップスペースの使用が不可欠です!

完全を期すために、LinuxにはOut-Of-Memory Killer(OOM)と呼ばれるサブシステムもあり、メモリが不足したときにカーネルを停止するのではなく、プロセスを強制終了してリソースを解放します。そのアクションは構成可能です。

どのくらいのスワップスペースを割り当てる必要がありますか?

絶対的なルールはありません。ハードディスクのスペースは安価であるため(ギガバイトあたりのドル)、スペースが少なすぎるよりも多すぎる方が適切です。経験則として、物理メモリの2〜3倍のスワップスペースが必要です。

スワップパーティションを拡張せずにスワップを追加する

既存のスワップパーティションを変更せずにシステムにスワップスペースを追加するには、2つの方法があります。 1つの方法は、別のドライブでスワップパーティションを使用することであり、もう1つは、スワップファイルを使用することです。

別のハードドライブを使用するには、「Linuxスワップ」(コード82)タイプのパーティションを作成してから、「mkswap」を実行します。 」コマンドを使用してスワップスペースを準備します:

mkswap /dev/sdb2

/dev/sdb2の場所 作成したパーティションの名前です。スワップスペースをすぐに使用するには、「swapon」を使用します ”コマンド:

swapon /dev/sdb2

swapon -s」を使用します 」をクリックして、現在使用されているスワップスペースのリストを取得します。スワップスペースをシステムに永続的に追加するには、/etc/fstabを編集する必要があります ファイルを作成し、次のような行を追加します:

/dev/sdb2       none    swap    sw      0       0

システムが一意の識別子を使用してディスクに名前を付ける場合は、blkidを使用します デバイスのIDのリストを取得するコマンド。 /etc/fstabにスワップスペースをマウントする行 その場合、次のようになります:

UUID=036da155-1ea1-4392-b8d4-700f65aa1ead  none  swap  sw  0  0

スワップにファイルを使用するには、大きな空白のファイルを作成します(ddを使用) )スワッピングに使用するファイルシステム上。たとえば、1 GBのファイルを作成するには、次のように入力します。

dd if=/dev/zero of=/store/swapfile bs=1024 count=1048576

/store/swapfileの場所 目的のファイルシステム上のスワップファイルへのパスです。

追加のスワップパーティションと同様に、ファイルはmkswapで準備する必要があります。 その後、swaponで使用されます 。また、/etc/fstabに追加する必要があります ファイル。手順は上記とまったく同じですが、/store/swapfileを使用する必要があります /dev/sdb2ではなく スワップスペースパラメータとして。

Swappiness

Linuxカーネルを微調整して、プロセスをメモリからスワップしようとする積極的な方法を定義できます。この傾向は、swappinessと呼ばれるカーネル変数によって制御されます。 。 swappiness 0の場合は、カーネルが可能な限りスワッピングを回避することを意味し、100の場合は、カーネルがスワップスペースの使用方法に積極的になることを意味します。多くのLinuxディストリビューションのデフォルト設定は60です。次のコマンドを使用して、数値を動的に変更できます。

sudo sysctl vm.swappiness=10

値を永続的に設定するには、vm.swappinessを変更(または存在しない場合は追加)する必要があります /etc/sysctl.confの変数 ファイル。

Linuxでのスワップについて質問がある場合はお知らせください。

この記事は2013年12月に最初に公開され、2020年8月に更新されました。


  1. DNS について知っておくべきこと

    DNS ルックアップとは ドメイン ネーム システム ルックアップ (略して DNS) は、誰かが検索バーに URL を入力してからページが読み込まれるまでの間に起こることです。技術的に言えば、これは URL (www.google.com など) を IP アドレスに変換するプロセスです。 IP アドレスは自宅の住所に似ています。アドレスを使用してメールを送信するのと同じように、コンピュータは IP アドレスを使用して特定の場所にデータを送信します。 IP アドレスは覚えにくい (数字の長い文字列) ため、コンピューターは DNS を使用して IP アドレスと URL を変換します (

  2. Windows 10 の Windows Update について知っておくべきこと

    インターネット は、ほぼ毎日新しいものを提供する進化し続けるメディアです。現在オンラインになっているすべての Web サイトと、かつて デスクトップ だけに焦点を当てていた新しい Web 開発戦略がそれらに適用されていることを想像してみてください。 コンピューター プラットフォームだけでなく、モバイル デバイスやその他のポータブル マシンにも対応しています。これらの変化により、マルウェアやウイルスなどの一部の否定的なエンティティでさえ、環境に適応するために進化し続けます。すべては日常的に変化しており、もちろん、オペレーティング システムも、大きなイノベーションや改善に取り残されないように、