タイトルにある事態に遭遇したので、
原因と対処方法のシェアをします。
まず私が遭遇した事態の確認です。
休憩するためにLinuxを
そのままにしておくと、
通常通りスリープモードになります。
いわゆるサスペンド状態です。
休憩から戻って、
いざ作業を再開しようとすると、
あれ?フリーズしてる、、、
ということになります。
この画面で何も反応しません。
マウスを動かしても、
どのキーを押しても全く対処できません。
仕方がないので電源を強制的に落とします。

実はこれが起こる原因として、
ハイバネーション機能が関係しています。
ハイバネートとも言います。
ハイバネーションとは、
メインメモリが保持している内容を
swap領域(ストレージ)に退避させる機能です。
このハイバネーションによって、
記憶装置が容量不足に陥り、
コンピュータが再起不能となります。
OSがスリープ状態になると、
メモリ等への給電をやめて、
省エネモードになります。
メモリは揮発性なので給電が止まると、
それまで保持していた情報を失います。
そこでハイバネーションによって、
スリープ後もユーザが
元の作業を出来るように、
swap領域に一度情報を退避させます。
その際にswap領域が不足していると、
コンピュータがフリーズするというわけです。
ではどうしたらよいのでしょうか?
答えはズバリ、、、
「swap領域を増やす」で解決します。
もしくはハイバネーションを無効化する。
そのときに疑問に思うのが、
swap領域がどれだけ確保する必要があるのか。
以下を参考にして下さい!
RAMメモリの容量 | swap領域の容量 |
---|---|
~2GB | メモリの3倍 |
2GB~8GB | メモリの2倍 |
8GB~64GB | メモリの1.5倍 |
64GB~ | メモリの1倍程度 ※ハイバネーション無効化推奨 |
ちなみに私がこの問題に遭遇した時は、
メモリが32GBに対し、
swap領域が16GBでした。
なのでswap領域をメモリの1.5倍
48GB確保したら上手く解決しました。
そんなにswap領域を確保できない、
というような場合であれば、
ハイバネーションを無効化しましょう。
ハイバネーションの無効化方法
ハイバネーションを無効化するなら、
swap領域はそこまで確保する
必要はなくなります。
最低4GB程度あれば大丈夫かと思います。
ただしその場合、
スリープ状態になった際に、
メモリへの給電はされたままになるので、
省エネ効率は少し悪くなります。
それではハイバネーションを
無効化するにはどこをいじれば
良いのでしょうか。。。
設定 > 電源 と進むと、
GUIで設定出来ます。

もしこれでも直らない場合は、
他の原因があるのかもしれませんね。
スクリーンロックを無効化したら、
直ったという方もみえるようです。
スクリーンロックのON / OFFは、
設定 > プライバシー から変更出来ます。
以上です。
最後まで読んでいただきありがとうございました。