コンピュータがスリープモードの場合、スワップデータはどうなりますか?

コンピュータがスリープモードの場合、スワップデータはどうなりますか?

コンピュータが休止状態になると、RAMの内容をスワップ領域に保存して、再起動時に中断された部分から正確に再起動できます。

それでは、現在のRAMよりも多くのメモリを使用している場合はどうすればよいですか?この場合、元のRAMにあった一部のデータがスワップ領域に格納される。

一例。コンピュータには1GBのRAMと1GBのスワップ領域があります。現在は、100MBのRAMと500MBのスワップスペースのみを使用しています。したがって、状態を保存するには約1.4 GBのメモリを記憶する必要があります。ただし、スワップ領域は1GBにすぎません。

この状況ではどうなりますか?

~~編集~~

以下の回答のとおり、休止状態に失敗しました。だから、次の質問は次のようになります。

失敗した場合、エラーレポートはどこにありますか?

ベストアンサー1

これは休止状態の実装によって異なります。質問をLinuxに制限しても、実装は時間の経過とともに進化し続けます。

まず、ディスクキャッシュ用のいくつかのRAMを検討してください。システムの回復後にディスクから再ロードできるため、スワップに移動する必要はありません。コスト/効率のバランスの良いシステムでは、RAMの約半分をキャッシュに割り当てるのが一般的です。 (あなたも見ることができますメモリが十分な場合にスワップを使用するのはなぜですか?.) Linuxでは、一部の初期実装では、割り当てられているすべてのメモリをスワップに保存しますが、現在休止状態の実装ではディスクキャッシュをスキップします。

第二に、一部のシステムでは、スワップ領域に書き込まれるメモリを圧縮するため、必要なスワップ量を正確に予測することは困難です。 Linuxの休止状態のサポートのいくつかのバージョンはすでに圧縮をサポートしています。現在存在するかどうかは不明です。

スワップ領域が不十分な場合は、通常、休止状態が失敗することを期待できます。システムはRAMの(有用な)内容をスワップスペースに保存しようとし、十分なスペースがないことを検出すると休止状態の試行が中断されます(通常はコンソールにあり、システムログにエラーメッセージが表示されます)。私が知っている限り、Linuxはいつもこのように行動してきました(実際に別の合理的な行動があるというわけではありません)。

おすすめ記事