2021-07-23

夏の暑さ対策とサスペンド不具合

 夏になると CPU の発熱が気になりますよね。え?なりません?

ていうか、夏場に限らず Linux Mint に「CPU Temperature Indicator」というアプレットをインストールして年中 CPU の温度を気にしています。

そう言えば、CPU の SMT 機能を BIOS で無効化すると若干発熱が抑えられるというのを思い出し設定してみました。

確かに 1〜2度くらい下がっている気がします。「これは良い」と思いながら風呂に入るので PC をサスペンド(Windows だとスリープ)するとなんかいつもと違いました。ディスク系は電源が落ちるのですが、PC の電源ランプは点いたままで CPU ファンも回っている気がします。

「なんだろう?」ちょうど Linux Kernel も 5.11.0-25 に更新したので、Linux Kernel の不具合じゃないだろうか?と思っていました。

だいぶ気になったので調べてみると、どうも SMT を無効化するとサスペンドが働かないのは有名らしいです。マザーボードメーカーによって仕様ということで「GIGABYTE は大丈夫」らしいのですが、うちのマザーボードは GIGABYTE なんですが・・・・。

ということで、開始早々に SMT の無効化は断念しました。サスペンドがちゃんと機能する方がワタシには重要です。

こちらはサスペンドに失敗した時のログです。

systemd[1]: Reached target Sleep.
systemd[1]: Starting Suspend...
systemd-sleep[11051]: Suspending system...
kernel: PM: suspend entry (s2idle)

こちらはサスペンドに成功した時のログです。

systemd[1]: Reached target Sleep.
systemd[1]: Starting Suspend...
systemd-sleep[17832]: Suspending system...
kernel: PM: suspend entry (deep)
kernel: Filesystems sync: 0.093 seconds
kernel: Freezing user space processes ... (elapsed 0.001 seconds) done.
kernel: OOM killer disabled.
kernel: Freezing remaining freezable tasks ... (elapsed 0.000 seconds) done.
kernel: printk: Suspending console(s) (use no_console_suspend to debug)
kernel: r8169 0000:03:00.0 eno1: Link is Down
kernel: sd 13:0:0:0: [sdb] Synchronizing SCSI cache
kernel: sd 13:0:0:0: [sdb] Stopping disk
kernel: sd 12:0:0:0: [sda] Synchronizing SCSI cache
kernel: sd 12:0:0:0: [sda] Stopping disk
kernel: ACPI: Preparing to enter system sleep state S3

サスペンド失敗時は s2idle で止まっていて、成功時は deep まで進んでいます。

SMT を無効にしてもサスペンドが成功するようになってほしいものです。