場合によっては、デスクトップコンピュータの電源を入れた後、4つのコアのうちの1つがランダムに100%に達し、コンピュータが「停止」することがあります。
さて、htop
リモート接続で実行してみると、すべてのプロセスがまだ機能していることがわかります。
たとえば、YouTube 動画では音声が再生され続けますが、画面が完全にフリーズしてマウスの位置も変わらないという興味深いことがあります。
htopリストの一番上にある今回は、kworkerでCPU使用率が100%に達しましたが、それ以外の場合、プロセスは100%に達しませんでした。 CPU 1(コアインデックス0)は100%です。したがって、コア0は約10%使用され、残りのバーはすべて赤で100%塗りつぶされます。赤い塗りつぶしインジケータがIOであると仮定します。ちょっと待ってますか?
これにより、負荷平均は増加し続けます。
では一種のIOと関連があると思います。ビデオIOだと思いますか?これをテストするにはどのコマンドを使用できますか?
この場合、新しいリモート接続を作成することはできず、許可されず、試行が中断されます。したがって、ループ内でこれらのコマンドを起動し、次の停止が発生したときに出力を監視します。
答え1
はい、おそらくビデオioです。 100%で開かれたkworkerがあるため、割り込みオーバーフローも発生します。
Linuxでの割り込み処理は2つの段階に分けられます。 1) ダイレクト割り込みハンドラは、すべての割り込みデータを一時キューとして収集します。 2) ワーカースレッドは割り込みハンドラでは動作せず、個別のカーネルスレッドとして動作します。これは基本的にプロセスですが、ユーザースペースはなく、カーネル内で完全に実行されます。
その理由は、割り込みハンドラが割り込みするためです。ロックなどを無視すると、いつでも発生する可能性があります。したがって、複雑なデータ構造をできるだけ少なくする必要があります。問題は、ユーザー空間シグナルハンドラからいくつかの関数しか呼び出せないという点で似ています。したがって、割り込みデータをキューとして収集し、ワーカースレッドはすでにカーネルスペースの外にあるこれらのキューを処理します。
今の問題は、ビデオチップがあまり邪魔しないことです。ビデオドライバの作業は、vga設定を指定し、画面にマッピングされたバッファを作成することです。あまり面倒ではありませんが、それにもかかわらずそのようなことがたくさん発生します。
YouTubeオーディオはマルチスレッドであり、そのオーディオ処理スレッドは、ビデオプレーヤーが中断されたという事実さえ知らないため停止しません。
あなたのdmesgには何がありますか?
vgaハードウェアやドライバに問題があるようです。