システムの割り込みのCPU使用率が高いときはCPU温度も要チェックかも
タスクマネージャーの「システムの割り込み」のCPU使用率が常に15~20%くらいあって妙だな~、と感じたことってありませんか?
それ、もしかしたらCPU温度の問題かも知れない…というお話です。あくまでうちではそうだった、というだけで誰にでも当てはまるお話ではないとは思います。
これは解決後のタスクマネージャーなので「システムの割り込み」のCPU使用率が0.1%になっていますが、解決する前は常に15~20%で、それが3ヶ月間続いていました。
事の発端は自宅のサーバー機をNUCにリプレースしたこと
これです。これ。
AsRockのBeeboxっていうNUCベアボーンなんですけどね。ちっこいでしょー?
2.5インチのSSDよりわずかに大きい程度のサイズしかありません。
それでいて Core i3-6100UというCPUを積んでいるので、2016年に買った当時としてはなかなかのモノでした。
…PCのリプレース作業が面倒で3年以上買ったまま放置していたのですが…w
しかし先日、「今PCアップグレードするならRyzen 5 3600がコスパ最高じゃないのって話」で書いたとおり、メインPCをRyzen5へアップグレードしました。それに伴い、いろいろパーツが余ったので、このBeeboxに
- 16GBのメモリを2枚(計32GB)
- 500GBのM.2.SDDを1枚(システムと共有フォルダとして使用)
- 2TBのSSHDを1台(バックアップ用)
と、これだけ詰め込んで中身をミッチミチにしてみたんですね。
ちょっとマズイかなぁ~、とは思ったのですが、M.2 SSDと2.5" HDDが入る設計になっているんだから、動かないことはないだろう、と。
そして実際快適に動きました。
そもそも、サーバー機などと言いつつOSはWindows 10 Proですし、
- BitLockerでのHDD暗号化
- (自分しか使わない)ファイルサーバーとしての機能
- 1時間ごとに自分の運営サイトのメンテナンスを自動実行
- 1日に1回データの自動バックアップ
と、このくらいできれば十分なので、たいしたパワーは必要ありません。実際このBeeboxにする前はCeleron J1900という更に非力なCPU(Passmarkスコア 約1200)を積んだベアボーンキットをサーバー機として使っていたくらいです。
ただ、組み上げた後、動作自体は問題ないものの、なんか思ったより早くもないし、なんでだろうなーとタスクマネージャーを確認したところ、「システムの割り込み」のCPU使用率が15~20%のまま。
このシステムの割り込みって遅延プロシージャという呼び出し処理を行っているらしく、例えばWindows Updateなどのバックグラウンドの動作が遅れている場合にせっせと動かしているのだそうです。
あぁ、それならほっとけばそのうち落ち着くだろう… そう思ってはや3ヶ月。
3ヶ月経ってもシステムの割り込みのCPU使用率が減らない
我ながらのんびりしすぎだと思いますがw
このシステムの割り込みのCPU使用率がなんでか15~20%に張り付いたままだなぁ~と思いつつも、動作自体はしていたので、これまた放置していました。
その間、OSの再起動やPCの電源ON/OFFは何度もしています。でも、タスクマネージャーの状況は変わらず。
J1900のPCからBeeboxに替えた直後は何か問題があったらすぐにメンテできるように手元に置いていたのですが、(CPU使用率は気になるものの)まぁ普通に動作しているから、もういっか、と自室から離れた場所へ設置しようとBeeboxを持ち上げてふと気が付きました。
Beeboxがめっちゃ熱いやん!!www
あわててhwmonitorでCPU温度を見てみたところ72度。
バックアップ処理などの比較的長時間の処理が続いた直後ならわかります。でも、そんな重い処理もしていないふっつーの時間帯で72度。
念の為、PCの電源を切り、少し置いてから起動して、しばらくするとやっぱりCPU温度が72度。
……………これはあかん。
バックアップ用のHDDを外付けに変更しただけでCPU温度が16度低下
やはり、M.2.SSDとHDDをあんな小さな筐体に詰め込んだから、熱がこもりすぎているのだろう、とまずはHDDを外してみました。
驚いたことに、たったこれだけでマイナス16度。
別にそのHDDが動いていたわけじゃないんですよ。上述のST2000LX001というのが2TBのHDDなわけですが、これ自体は39度しかなく、内蔵でも外付けでも温度に変わりはありませんでした。
あ、ちなみに室温は31度とかなり高めの環境です。
M.2.SSDは3000MB/sくらい出る高速で発熱も多いタイプだったのもよくないのでしょう。HDDを内蔵していた頃はM.2.SSDが挟まれる形だったので、72度になっていました。
ただ、HDD外した現状でもM.2.SSDの温度が67度あるので、うーん、そもそもこのM.2.SSDがNUC向きではないよなぁ、とも。
CPU温度が下がったらシステムの割り込みもなくなった
はい、ここで最初の画像に戻るわけですが、このとおり。
CPU温度やべーなー!という考えでHDDを外付けにして筐体の風通りをよくしただけなのですが、思わぬ収穫というか、あれだけずっとCPU使用率を食っていた「システムの割り込み」が0.1%に…。
いままでさんざんOS再起動も電源オフも繰り返してきたので決して偶然じゃないと思います。
CPU温度上昇によりクロック数が大幅に低下して遅延プロシージャが全然終わらなかった、とかそんな感じでしょうか。
こんな排熱の悪いPCにM.2.SSDやHDDを詰め込むお馬鹿さんはぼくくらいかも知れませんが、長いこと(といっても3ヶ月ほど放置していたようなものですが)悩んでいた「システムの割り込み」が突然解消したので嬉しくなって記事にしてみました。
まとめ
- 小型NUCにM.2.SSDやHDDをみっちり詰め込んだらCPU温度が70度を超えた。
- すると「システムの割り込み」のCPU使用率も常に15~20%になった。
- HDDを抜いて風通しをよくしたらCPU温度が56度まで低下。
- それに伴い「システムの割り込み」のCPU使用率も0.1%になった。
システムの割り込みが具体的に何と何をしているのか見えない部分があるので、絶対にCPU温度のせい!とは言い切れませんが、少なくともうちの環境ではこういう例もありましたよ、ということでひとつ。
タスクマネージャーのシステムの割り込みで悩んでいる方の参考になれば幸いです。
2020/08/11追記
その後、高負荷時にまた再発したので冷却ファンを導入しました。よければこちらの記事もどうぞ。
システムの割り込みのCPU使用率が高すぎるのでUSB冷却ファンを買ってみた