web-dev-qa-db-ja.com

休止状態にするにはどのくらいのスワップパーティションが必要ですか?

この質問 を読みましたが、myの質問には明確に答えません。

コンピューターを休止状態にしたい場合、RAMと同じ大きさのスワップパーティションが必要ですか、またはスワップパーティションが現在に収まる場合、Ubuntuは賢明に休止状態にできます-in-useRAM?大量のRAMと比較的小さなハードドライブを備えたコンピューターにUbuntuをインストールしようとしているので、必要以上のハードドライブ領域を使用したくありません。

この質問をより一般的にするために、実際の仕様を提供することは避けたかったのですが、必要に応じて提供します。

11
Closure Cowboy

予測するのは難しいです。スワップは対応する必要があります

  • 休止状態になった時点ですでにスワップに入っているもの
  • 休止状態になったときにRAMにあるのは、ディスクキャッシュまたはバッファーではない部分のみです。 RAMイメージは、uswsuspを使用すると圧縮されます
  • いくつかのカーネルデータ構造

そのため、スワップのほとんどがすでに使用されているため、スワップがRAMよりも大きい場合でも、休止状態に失敗する可能性があります。また、どちらかをあまり使用していない場合は、RAMよりも小さいスワップで正常に休止状態にすることができます。

ディスクが非常に小さいために固定サイズのスワップパーティションを避けたい場合は、代わりにスワップファイルを使用できます。サイズ変更が簡単で、スワップファイルへのハイバネーションがサポートされているはずです(それがすぐに動作するかどうかはわかりません。Ubuntuのリリース間で行き来します。IIRCは9.10でしたが、 10.10 )にセットアップする必要がありました。

9
Gilles

この問題は、ハイバネートをセットアップするためにスワップのサイズを決定する際の一般的なクエリで表面化し続けています。元の答えは、ワークロードに基づいて信じられないほど変化する可能性があるという点で正しいのですが、完全な答えだとは思いません。

完全な答えは、特定のワークロードに基づいて必要な量を伝えることができ、適切なサイズを設定できることです。

基本的なツールは、休止状態中のカーネルメッセージです。このコマンドで使用されたメモリの量を確認する必要があります。

Sudo cat /var/log/syslog | grep 'PM:'|grep kbytes

次のような出力が得られます。

Aug 14 11:03:20 mike-XPS-15-9570 kernel: [17594.823584] PM: Allocated 11809876 kbytes in 2.65 seconds (4456.55 MB/s)
Aug 14 11:03:20 mike-XPS-15-9570 kernel: [17605.365657] PM: Wrote 11787284 kbytes in 9.09 seconds (1296.73 MB/s)

次に、最大負荷を実行し、休止状態をトリガーし、必要なスワップスペースを確認し、安全マージンを追加してから、そのサイズのスワップスペースを作成します。

2
Mike Hardy