128GB RAM の現実的な交換は可能でしょうか?

128GB RAM の現実的な交換は可能でしょうか?

新しい 240GB SSD に Ubuntu 15.04 をインストールしたところ、インストール後の /dev/ubuntu-vg/swap_1 が 137GB であることにすぐに気付きました。これは過剰で、逆効果にさえ思えますが、マシンに 128GB の RAM があるため、Ubuntu インストーラーがそれを選択したのかもしれません。

約 140 GB のスワップが有用かどうか、また有用でない場合、スワップの適切なサイズはどのくらいであるべきかについて、明確な見解をお持ちの方はいらっしゃいますか? 私は I/O を多用するバイナリを実行しています。関係ないかもしれませんが、マシンはデュアル CPU Xeon (E5) であることを記しておきます。

Terrance が以下に提案したリンクを参考にしたところ、Ubuntu がインストールされている 240 GB SSD の半分以上を占有しているため、自動の約 140 GB のスワップを約 4 GB に減らそうと思いました。

答え1

システムにこれだけの RAM があれば、大きなスワップ パーティションは実際には必要ないはずです。スワップ パーティションが必要になるのは、主に、汚れてスワップが必要な RAM から情報をスワップアウトするためですが、4 GB から 16 GB あれば十分でしょう。

下のリンクから素晴らしい情報が見つかります。

https://superuser.com/questions/777907/swap-partition-size-on-a-64-gb-ram-computer-for-memory-intensive-work

答え2

必要なスワップの量は常にワークロードに依存しますが、これは明らかに過剰なスワップ量であり、ほぼ間違いなく過度に単純化された「スワップ = RAM * x」タイプの計算に起因すると考えられます。

短い答え: 私の意見では、4GB のスワップはほとんどの場合十分すぎるほどです。

長い答え: スワップは常にシステムが動作している時間の代わりになるように設計されています異常につまり、プロセスによる RAM 使用量が、物理 RAM の量に近づいているか、それを上回っています。実行中のプロセスが使用する RAM の量が非常に予測可能な場合 (たとえば、特定のヒープ制限を設定したデータベース サーバー)、RAM 使用量はある程度安定し、スワップが使用される可能性は低くなります。プロセスによる RAM 使用量が物理 RAM に近づいたり、それを上回ったりすることがないと確信できる場合は、スワップも必要ありません。ただし、一般的なサーバーでは、一定期間大量のメモリを消費するタスクが実行される可能性がランダムに発生することが通常あり、これによって RAM 使用量が物理 RAM に近づいたり、それを上回ったりすると、スワップが介入して、システムがプロセスを強制終了したり、効率的に実行するための十分なキャッシュ領域が不足したりしないようにします。

4GBのスワップは通常、大量のRAMを搭載したシステムでも十分すぎるほどのスワップであると私は言います。なぜなら、システムがすでに限界近くで動作している場合、比較的メモリを大量に消費する1つか2つのプロセスが物理RAMを超えるには十分であると感じるからです。感じる4GB 以上の不足がある場合は、もっと深刻な問題が発生しているため、メモリを大量に消費するプロセスを構成して修正する必要があります。2GB を超える RAM を占有するプロセスは、通常、構成によって、または物理 RAM の残量を把握することによって、何らかの方法で RAM の使用を自己制限するようにプログラムされています。

スワップが「十分以上」であるかどうかについての意見は、もちろんさまざまです。1GB、2GB、8GBなどと言う人もいます。また、必要ないと言う人もいます。どれでもそれだけの物理 RAM があれば (ただし私は反対です)。

もう 1 つ: 「休止状態」には、すべてのプロセス メモリを書き込むのに十分なスワップ領域が必要です。そのため、スワップ領域が物理 RAM よりも大幅に小さい場合は、休止状態を使用できません。128 GB の RAM を搭載したシステムでは、休止状態を使用する必要はおそらくないでしょう。休止状態のためだけにこれほど多くのスワップ領域を予約すると、ディスク領域が大幅に消費されるだけでなく (特に SSD の場合)、速度もかなり遅くなります。再開時にディスクから約 128 GB をロードすることを想像してみてください。通常の起動よりも大幅に遅くなります。

関連情報