MasaのITC Life

夢は起業家!全てにおいて凡人だけど頑張ることだけはいっちょ前!

やってみた系/その他

スリープ(サスペンド)で放置したらLinuxがフリーズしたときの対処法

投稿日:2020年3月23日 更新日:



タイトルにある事態に遭遇したので、

原因と対処方法のシェアをします。



まず私が遭遇した事態の確認です。


休憩するために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は、

設定 > プライバシー から変更出来ます。




以上です。

最後まで読んでいただきありがとうございました。


-やってみた系/その他

Copyright© MasaのITC Life , 2023 All Rights Reserved Powered by STINGER.