スワップ:専用のスワップパーティションを作成するか、スワップファイルを作成する方が良いですか?


9

専用のスワップパーティションを作成する場合と、たとえば/ tmp / swapなどのスワップファイルを作成する場合の根拠はありますか?

私の特定のケースでは、メモリは少し低い(1GB)、SSDのディスク容量はかなり大きい(256GB)。したがって、スワッピングはかなり定期的に行われます。

コメントは大歓迎です!

カーステン


4
スワップに使用するとSSDの寿命が短くなる可能性があることに注意してください。askubuntu.com/questions/652337/...
スティーブ・

回答:


3

スワップパーティションとは対照的にスワップファイルを使用する場合に見られる主な欠点は、スワップパーティションを断片化することはできないことですが、エクステントファイルシステムのスワップファイルは、作成時に分割される可能性があります。ディスクにより、シーケンシャルアクセスが遅くなります。


2
SSDにはランダム読み取りペナルティがないため、断片化されたファイルによる害はほとんどありません。
デビッドキング

正直に言って、私はそれ以来ずっとswapパーティションに賛成していますが、ねえ、私たちがここドイツで言っているように、「尋ねるのにコストはかかりません」;-)
CarstenP

1
構成済みのRAMとスワップパーティションを使い果たす可能性のある大規模なプロジェクトが予想される場合は、一時的に使用するためにスワップファイルを作成することがよくありますが、パーティション化したままにしておきたいです。そうすれば、ホームパーティションを再利用するのと同じくらい簡単に、Linuxディストリビューション間でスワップパーティションを再利用できます。
DopeGhoti

1
「ファイルシステム上のファイルへの書き込み時にカーネルコードの複数の層が通過する」についての部分は真実ではありません:「カーネルはオフセットスワップのマップを生成- > swaponの時に、その後のマップがスワップを実行することの用途上のディスク・ブロックすべてのキャッシュ、メタデータ、ファイルシステムコードをバイパスして、基盤となるディスクキューに対して直接I / Oを実行します。」– Linux-Kernel Archive:Re:スワップパーティションとスワップファイル
Anthony Geoghegan

1

ファイルのI / O操作は、カーネルコードのより多くのレイヤー(VFSなど)を経由する必要があるため、ファイルへのスワッピングに関連するオーバーヘッドが多くなります。一方、それはより柔軟な設定であり、あなたのケースには十分かもしれません。


おそらく、I / Oのスワップ、アヒル、状況に慣れる必要があります... Linuxが素晴らしく、遅く、シンプルであることについて何かありませんか?^^:D PS:ええと、「遅い」ことは忘れてください... ^^
CarstenP

これは実際には当てはまりません。「カーネルは、スワップオン時にスワップオフセットのマップを生成します->ディスクブロック以降、そのマップを使用して、すべてのキャッシュ、メタデータ、ファイルシステムコードをバイパスし、基盤となるディスクキューに対して直接スワップI / Oを実行します。」– Linux-Kernel Archive:Re:スワップパーティションとスワップファイル
Anthony Geoghegan

1

スワップファイルへのアクセスはファイルシステムを経由しません...カーネルはどのディスクブロックがスワップされているかを認識し、それらに直接アクセスします1。ただし、連続していないファイルは、ディスクのさまざまな領域にフラグメントがある場合があり、特定の使用方法によっては、シークを追加すると、専用パーティションよりも速度が遅くなる場合があります。

OTOH、スワップパーティションのないクラウドサーバーを処理していて、それを作成する可能性がない場合、スワップファイルによってアプリケーションが保存されることがあります。


[1]カーネルは、スワップオン時にスワップオフセットのマップを生成します->ディスクブロック以降、そのマップを使用して、すべてのキャッシュ、メタデータ、ファイルシステムコードをバイパスし、基盤となるディスクキューに対して直接スワップI / Oを実行します。」– Linux-Kernel Archive:Re:スワップパーティションとスワップファイル


fsがファイルブロックを移動/サイズ変更する場合はどうなりますか?スワップファイルの場合、少なくともいくつかのfsドライバーの相互作用が存在するはずです。
peterh-モニカを2017年

賛成。これは、カーネルがスワップに使用されるディスクブロックに直接アクセスすることを示す唯一の回答であるため、受け入れられる答えになるはずです。
Anthony Geoghegan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.