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


11

私はこの質問を読んだことがありますが、私の質問に明確に答えいるわけではありません。

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

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

回答:


9

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

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

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

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


1
ディスクキャッシュが圧縮されていない
-psusi

1
言い方をすると、ハイバネーションイメージではなくキャッシュが圧縮されていると言っているように聞こえます。休止状態イメージを圧縮するには、uswsuspパッケージをインストールする必要があります。デフォルトのカーネル実装は圧縮しません。
-psusi

2

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

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

基本的なツールは、休止状態中のカーネルメッセージです。このコマンドで使用されたメモリ量を確認したい場合:

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)

次に、最大負荷を実行し、休止状態をトリガーし、必要なスワップスペースを確認し、場合によっては安全マージンを追加して、スワップスペースをそのサイズにするという戦略をとります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.