GNU/Linux >> Linux の 問題 >  >> Linux

通常のファイルシステムの代わりに /tmp に tmpfs + 非常に大きなスワップ パーティションを使用していますか?

これは良い考えではありません。

大きな /tmp で問題ありません このようにマウントされたパーティション (/etc/fstab から) )

tmpfs  /dev/tmp  tmpfs  defaults,nosuid,nodev,noexec,noatime,nodiratime,size=6000M 0 0

外付けドライブを巨大なスワップ パーティションとして追加することもできます

/dev/sdb1  swap  swap  defaults  0 0

それが限界に達すると、マシンはページを RAM からディスクにスワップし始めます。その時点で、負荷平均は屋根を通り抜け、マシンは停止します。

なんらかの方法で SWAP に依存するのは悪い考えです。500 GB ドライブを売って、単純に RAM を追加購入する方がよいでしょう - 安い

まとめ

本当に 500GB のディスクを使用したい場合は、500GB のディスクを /tmp にマウントできます。 atime と diratime が無効になっているジャーナリングされていないファイルシステム (例:ext2 )。 SWAP のマシンを扱うよりもかなり高速です。 する


これは合理的な考えかもしれません。

実際のファイルシステムを /tmp に配置すると、システム障害が発生した場合にディスク上のデータが破損しないようにするためにファイルシステムがかなりの時間を費やすため、オーバーヘッドが発生します。ブート時に消去される /tmp の場合、これは明らかに単なるオーバーヘッドです。 tmpfs を使用すると、そのオーバーヘッドを回避できます。

一方、ファイルシステムは、アクセス時間を最適化する方法でファイルがディスク上で編成されていることも確認します。つまり、断片化を回避します。典型的なシーケンシャル ファイル アクセスは (ほとんどの場合) シーケンシャル ディスク アクセスになり、ランダム アクセスよりも効率的です。この影響は、SSD よりも回転するハードディスクで顕著です。スワップはメモリのどの部分がどのファイルに属しているかを認識せず、tmpfs はページが物理メモリまたはディスクにどのようにマップされているかを認識しないため、swap + tmpfs の組み合わせではこれを簡単に実行できません。ただし、大きなファイルの場合は、tmpfs と swap の両方が連続した状態を維持しようとするため、うまく機能するはずです。少なくとも、スワップに多くの空き領域があり (そうしないと断片化が開始されます)、スワップ アウトされる可能性があるほど書き込みがゆっくり行われる限りは。

要するに、状況によって異なります。両方のオプションを試して、どちらが最適かを確認する必要があります。

tmpfs をマウントするときは、サイズを明示的に設定することを忘れないでください。デフォルトは物理 RAM の半分なので、わずか 3GB です。


Linux
  1. /usr と /var を別のパーティションまたはディスクに移動する方法

  2. /dev/sda と /dev/sdb をどのように交換しますか?

  3. /dev/shm/ と /tmp/ はいつ使用する必要がありますか?

  1. /tmp 用に別のパーティションを作成する必要があるのはなぜですか?

  2. UDF のパーティション ID / ファイルシステム タイプは何ですか?

  3. /boot 用に別のパーティションを作成してもよろしいですか?

  1. なぜ /home 以外のものを別のパーティションに入れるのですか?

  2. デフォルトの /tmp を /home/user/tmp に変更する方法

  3. /tmp と /var/tmp の違いと正しい使い方