私のDebian StretchシステムにはRAMがたくさんあります。現在はSSDで暗号化されたスワップパーティションを使用していますが、一般的な状況ではメモリ不足のため使用できないようです。
しかし、Snakedocのコメントによると、スワップを完全にオフにするのは悪い考えです。
スワップを完全に無効にすることは決して「安全」ではありません。 RAM が 96 GB 以上のシステムの場合でも、少なくとも 512 MB のスワップを実行するのが良い安全対策です。何かが異常に動作し、誤ってメモリを使い果たすと、システムに不要なプロセスを終了する時間が与えられます。スワップを無効にする代わりに、カーネルパニックが発生します。
そこで、0.5Gなどの一部のメモリを「RAMディスク」として予約し、これをスワップファイルとして使用してSSDに書き込みを保存できると考えました。
どうすればいいですか?何らかの理由でこれは悪い考えですか?
答え1
私はその理由が安定性のためだと言いたくありません。それは一般的な誤解です。システムメモリ+スワップスペースがいっぱいになると、スワップスペースがないのとほぼ同じ症状が発生します。
- 説明できない、大きい速度が遅くなります(システムはメモリを必要とするプロセスをしばらくロックし、誰かが必要なメモリを解放する可能性があります)。
- OOM(Out of Memory)キラーによってプロセスが終了しました。
唯一の違いは、交換しないとこれらの症状が発生することです。突然、交換の場合、交換が完了した後にのみ発生します。したがって、システムが完全に応答しなくなるまで遅延時間が長くなります。
これがスワップが役に立つ最初の理由です。
2番目はあまり知られていませんが、実際にはもっと重要です。
通常、スワップを使用するとコンピュータの速度が遅くなりませんが、メモリがはるかに少なくても速度が速くなります。
理由は次のとおりです。システムのRAMは実際にプロセスで使用されていませんか?ハードドライブをキャッシュしてシステムを高速化するために使用されます。
スワップがある場合、実際にはシステムは非常に少数のメモリページをスワップアウトし、そのスペースをディスクキャッシュに使用できます。どれだけ早く発生するかは、VMの設定と経験的な方法によって異なりますが、本当に素晴らしいです(私が知る限り、Linuxはこの意味で最高です)。
ハードドライブがSSDにある場合、実際には2つのパラメータには影響しません(ただし、ナビゲーション時間が0の高速ディスクを使用すると、確かにすべての速度が速くなりますが)。
私は主に古いスワップパーティションゴールデンレートを使用しています。つまり、RAMでスワップスペースを2倍以上使用します。これはスワップ断片化を防ぐためです(スワップファイルのブロックはファイルシステムのファイルのように断片化できます)。あなたのRAMは多いが、ナビゲーション時間がゼロの高価なハードドライブがある場合、スワップ断片化は問題にならないので、少ないだけで十分かもしれません。 SSDがいくつあるのかわかりません。 RAMサイトの1倍または0.5倍で十分です。
私の考えでは、この「最小512Mスワップスペース」の提案は良くありません。使用するスワップ領域の量は、システムパラメータ(ディスクコスト、RAMの量、ディスクの数、ハードディスクの検索時間など)によって異なります。この512Mは「ゴールデンレート」ではなく「魔法の数」であり、一般的に使用すると意味がありません。
答え2
SSDシステムで交換用にHDDを使用することは良い考えではありません。速度が遅くなるだけでなく、アクセスに時間がかかり、より多くの電力を使用し、最新のSSDよりも信頼性が低くなる可能性があります。今日のSSDは5年間の保証を提供し、毎日数百GBを使っても簡単に8〜10年間持続できます。
しかしそれが最高です。使用zram
そしてSSDの小さなバックアップスワップパーティションであるかもしれません。さまざまなLinuxディストリビューションやChromeOS、Androidでは、長年にわたってデフォルトでzramを有効にしてきました。 Androidには、基本的なレガシースワップ機能さえありません。でもWindowsそしてアップルシステムこれで、スワップする前に圧縮RAMを使用します。
CPU は HDD よりもはるかに速くデータを解凍するため、システムがスワップを開始すると、システムの反応性がどれほど速いかを確実に感じることができます。違いはSSDに固有のものではなく、以下に基づいています。ベンチマーク結果はここにあります。デフォルトのlzoアルゴリズムを使用すると、zramはまだより速いようです。簡単に変更できますlz4アルゴリズムこれはlzoよりほぼ5倍速いです。やや低い圧縮率
しかもzswap
他のメカニズムを使用しますが、まだ圧縮されたデータをRAMに保存します。
追加読書
答え3
@peterhの答えによると、古いHDDをコンピュータに接続し、スワップスペースを含むスクラッチスペースとして使用するのが良い解決策かもしれません。これにより、最後の0.5Gまでのすべてのメモリをシステムで使用できます。ノートパソコンのHDDは、3.5インチドライブよりもエネルギー効率が高くなります。