2021年1月5日火曜日

マザボ故障ということで諦めたフリーズ問題の総括

過去記事にぐちゃぐちゃ書き連ねて記録していたPCのフリーズ問題がマザボ破損による故障だとして結論づけ、マザボ交換ってほぼ別PC組むみたいなもんじゃんとなったので修復は諦めました。

上の記事を総まとめし、マザーボード(またはチップセット)が故障したらこんなんなるかもよという一例としての記事です。
といってもMiniSTXのちっっっさいやつなので並のマザボの参考にはならないかも…。

環境

Sycomで組んでもらった省スペースPC
使用年数:満3年(2020年5月時点)
マザボ:Asrock H110M-STX
CPU:Intel core i5-7600(のちに7500に交換したが変わらず)
グラフィック:内蔵
メモリ:4GBx2
電源:ACアダプタ
OS:Windows 10 Home / Debian 9 Stretch(のちに10 Busterにアプデした)
USB:TypeCにIODATAの外付けHDD、その他にキーボード、パッド、USBハブにバスパワースキャナとペンタブ

ハングアップの症状

ひとくちにフリーズだの止まるだのと検索すると特定ソフトが動かないだけの話が大量に出てくるが、システムそのものが停止するレベルだとハングアップと呼ばれる。
  • 音楽等が流れている場合、ぴたりと止まる(ビービーと伸びた回はプライムビデオ再生時に1度だけあった)
  • 画面が止まる
    →時計やシステムモニタなどの常時更新されるものが動かなくなる
    →カーソルが動かない
  • キーボードの受け付けがなくなる
    → NumlockキーでキーボードのLEDが切り替わらない
    → LinuxにおけるSysRqキーで再起動がかからない
  • 電源ボタン短押しでシャットダウンプロセスに入らない
  • モニタの電源を切ってもう一度つけても同じ画面のまま
  • ディスクアクセスランプがついている状態でハングするとおそらくずっとついたままになる
    → HDDの場合、強制的に電源を切るとアクセス中に切った時と同じ異音がするため、中の磁気ヘッド(?)も途中で止まっているっぽい
  • ファンは止まったり暴走したりはしないが、CPUが止まって冷めていくのかファンも低負荷時の回転数に下がる
  • WindowsにおけるブルースクリーンやLinuxにおけるカーネルパニック画面は全く出ない
  • ハングアップ自体はWindowsでもLinuxでもなる
自機が遭ったのはとにかく中身が完全に停止し、自動で再起動するなどの判断さえできないまま固まるようなものだった。
ファンの調整が生きているあたり、マザーボードの基本的なレベルのものだけはきちんと動いているように見える。
USBデバイスのランプ等はついたままなので、給電はされてるっぽい。

グラフィックの負荷によるハングアップ

ブラウザや各種イラスト・デザイン・映像系ソフトにおけるGPUアクセラレーション機能

とりあえずGPUとかハードウェアとつく機能を切っておかないとどこかしらで止まる。
設定にそのような項目がない場合はそもそもアクセラレーションがないか、微力ながら勝手に使われるかなので止まるソフトと止まらないソフトがある。

また、UIやワークスペースの表示、ペンタブ入力の受け付けなどにも何かしらの負荷があったのか、特に複雑な処理をさせなくともすぐ止まってしまうやつもいる。

ハングしたやつ:
  • Inkscape(複数のオブジェクトを回転させたりするなど)
  • Synfig(プレビューと編集を繰り返して30分以内)
  • MyPaint(GUIの表示で既に負荷があるのか、割とすぐ死ぬ)
  • Vivaldiブラウザ(ブラウザゲームで顕著、アクセラレーションを切ると安定)
  • Blender(モデリング中)
  • Audacity(録音中の画面を開き続ける)
  • Godot Engine(起動して短時間で死ぬ)
  • OBS(プレビューしながらの画面編集や配信)
  • mpv(変に巻き戻しや開き直しなどを連続すると死ぬ)
  • Steam(BigPictureモードで即死)
ハングしなかったやつ:
  • Adobe Illustrator(設定でGPUプレビューを切った)
  • AzPainter Linux
  • Clipstudio Paint
  • SimpleScreenRecorder(ゲーム録画に使っているので巻き添えを食らっているだけで、おそらく単体ではハングしないと思われる)
オープンソースでハイエンドなことをするツールに起こりがちというか、有償ツールはやっぱり出来がいいのかな、という印象。

KritaやMyPaintなどのGUIツールであるGTKには3か4以降のバージョンでGPUアクセルを使用するらしい。

ゲーム類

ハングアップの問題が出るまではシステム要件等の問題でなければ普通にプレイできた。
このハングアップの問題が出始めた頃でもまだプレイできたというゲームもあったが、それらも徐々にハングアップを起こすようになるゲームとなっていった。

そのリストも書こうと思ったけど、ハングしないゲームのリストを書いたほうが早いんじゃないかってぐらいなんだか致命的な状態になってしまった。
  • Hexen(Dosbox)
  • Quake Live
ゲームエンジンが古そうなやつしかない。じきにこれらもハングアップするようになるかもしれない。

Unity製のゲーム(ロゴ表示がなくて判断つかないやつもいるが)は確定でハングを起こす……というか、GODOT Engineの起動で落ちるのだからOpenGLとかも関係ありそう。よくわかんないけど。

ちなみに2Dか3Dかはあまり関係ないが、起動最初のロゴ画面や画像文字だけのタイトル画面など平面的な処理は無事に通り、いざゲームを開始するとすぐハングといった具合のものが多い。

描画クオリティの調整やゲーム内FPS上限設定などを多用することで、数時間ほどプレイする時間を稼ぐ程度には延命できるゲーム(DUSKなど)もある。
フルスクリーンからウィンドウモードに変えるなどの対処もあるが、ハングするときはする。

中でもVsyncの設定が顕著で、これをオンにしておかないと即刻ハングするやつが多い。
大抵のゲームはデフォルトでVsyncオフになっており、メニュー画面の背景としてゲーム内フィールドをレンダリングしてしまうゲームではオプションメニューを開く前にハングしてしまうという悲惨な例もそこそこあった。(DevilDaggersやFuriなど)

フレームレートは関係ない

Linuxでxrandrによるフレームレート設定、ゲーム内のFPS上限をかけてもなる。

ゲームに於いては処理が軽すぎて60fpsきっちり出せるSwarmlake、処理が重すぎて30fpsも出ないSekiroやSUPERHOTなども全てハングを起こす。

それぞれに疲労度的なものがあり、多いほどハングアップする確率が上がる

特定の処理やタイミングでなるというより、それぞれの処理ごとに固定の疲労度みたいなものがあり、積み重ねで一定量を超えたらハングアップとなって現れるような印象がある。

Inkscapeでもちょっとしたベクター編集や書き出しなら大丈夫だし、DevilDaggersもリザルト画面をすぐ終了すれば比較的何度でもプレイできるし、mpvも普通に動画再生する分には問題ない。
こういう「○○させなければ大丈夫」という微妙なラインを持つものが多い。
ゲームに関してはロゴ画面を表示させている間に背後で3D描画をするなどがあるため見た目で判断しにくいところがある。

確率が上がると書いたのはこれがソフトを終了した後もハングアップを起こすせいであって、
もちろんX11とかWindowsの画面変遷アニメーションなどのシステムの処理によって溜まる微妙な負荷が疲労度の天井を叩いてしまう可能性もある。

ハングアップ以外のこと

IODATAの外付けのブート非対応HDDをUSBtypeAポートに接続すると起動時のpost画面で停止し、引き抜くと数秒後にpost画面が無事通過するという現象がある。マザボにtypeCポートがあるためそっちで接続するとこの現象はない。
が、外付けのこれがブート非対応だからというのもあるため一概にマザボのせいとはいえない。

また、UEFIの起動優先度でこの外付けを後ろにしていてもこの現象は起きる。

Linuxでしか確認してないが、起動してもたまにその外付けHDDは通電しておらず認識もされていないことがあるのが微妙に怪しい。

WindowsのオンゲPSO2をやる時にその外付けHDDを抜いておくとハングアップしないという時期があった……が、あれは季節系イベントの有無で負荷量が変わるので偶然かもしれない。

GPU、メモリ、電源について

GPUはIntel内蔵だったためCPUを交換したけど変化なし。

メモリは2スロットにそれぞれ刺していたものを入れ替える、メモリ片方ずつをスロット片方ずつの1本刺しで試す、などをしても変化しなかったため、メモリやスロットの破損ではないと判断。(そもそもメモリ破損ならグラフィック以外でもなんかあると思う)
Memtestを普通にクリアし、UEFIから起動するビープ音は正常。

ACアダプタの故障で電力不足なのかも、ということでASUSの同じVA値のACアダプタを買ってみたが、効果なし。
USBバスパワーのスキャナなどを全て外したり、そもそもコンセントに分岐タップをやめてコンセント直刺しなどもやってみたがこれも変わらず。

ちなみにマザーボード故障原因にコンデンサの膨張や破損があるらしいが、省スペース向けのボードなせいかコンデンサらしきものがない。

原因は温度?

おそらく真夏にChaoticaのレンダリング(CPU温度75度以上)を20時間継続みたいなことを何度もやっていた。
1〜2月ごろにプレイできていたSekiroを12月につけてみたら出来なくなっていたので、夏のそれを期に故障が進行していたのではないかと思われる。

他にもとにかく空調のないところで軽〜中量級のゲームをやったりしたことぐらい。

梅雨の湿気はしょうがないとして、これといって効果的な空調がないので温度差で結露することもないと思う。
そうでなければ機体移動時の振動とか雷サージとかのふとしたところの何か。
(でもバカスカ移動してるノートPCとか5年以上経っても生きてるし保冷剤挟むとかいう結露案件やってたVaioなんて13年正常運転だったんだよ…)

その場しのぎにやっていたこと

/usr/share/X11/xorg.conf.d/20-intel.conf で、"Accel" "false"

ArchのIntel Graphicsページではさも有力な感じに書かれており現にハングアップしなくなった方法だが、そこそこ致命的なデメリットがある。
  • ゲームができない
    →起動しない、画面更新がされない、CPUレンダリングに変わるためプレイできないほど激遅、など
  • GUI表示やプレビュー更新にアクセルが必須のソフトでは基本操作すら不可
    →Krita、Chaotica、OBSなど
  • 画面録画、動画再生が不可能(おそらく配信もできないと思われる)
    →mpv、SimpleScreenRecorderなど。
ゲームとマルチメディアさえしなければアクセル切りは有効。ペイントソフトはものによっては普通に動く。
ブラウジングは快適にできるがブラウザゲームはノロマ。

当該ページには"DRI" "false" にする、アクセルメソッドにUXAを使わせるなどもあるが、ハングアップ時に画面がガビガビに乱れるようになっただけで解決できず。

そもそもArchのこれはi915ドライバにあるバグ対処の話であり、マザボ故障の話ではないため解決できなくても致し方なし。

カーネルオプション nomodeset

そもそもXが起動しなくなる。
SSHサーバ等の縁の下役に回らせる時にはいいかもしれないが、そうしようと思った時に無線カードがエラー吐きまくって死んだのでこれもなし。

おわり

温度に気をつけよう!

1 件のコメント:

  1. ありがとうございます。私も同じPCを使っていてマザーボードが原因なのかCPU,メモリ周りなのか悩んでました。

    返信削除