web-dev-qa-db-ja.com

影響を受けやすいコンピューターでGPUロックアップをトリガーする簡単で安全な方法はありますか?

以前の質問に対する回答 buntu 12.04凍結、パワーサイクルが必要です。ログで何を確認/ grepする必要がありますか? により、コンピューターで断続的なGPUロックアップが発生している疑いがあります。通常、Chromeを使用しているときに、週に1回程度発生します。今日は lucidchart で図を作成していたときに起こりました

ATI Radeon HD 2400 XTとXineramaモードで実行されているデュアルモニターを搭載したDell Optiplex 755があります。独自のATIドライバーがインストールされた12.04を使用しています。

コンピューターがロックアップしても、まだsshでログインできます。 https://wiki.ubuntu.com/X/Troubleshooting/Freeze で提供されているこの報告に関する指示に従ってください。

GPUがロックアップする原因となる(安全な)方法はありますか?

8
Abe

素晴らしい質問です。

ワークロード

/ usr/share/xdiagnose/workloadsディレクトリには、グラフィックシステムを実行してロックアップをトリガーするように設計されたワークロードのセットがあります。

$ ls /usr/share/xdiagnose/workloads/
README                       do_monitor_rotation_loop
do_chws_loop*                do_screensaver_loop*
do_cpu_spin_loop             do_video_loop*
do_disk_write_loop           do_vtswitch_loop*
do_glx_loop*                 repro.sh
do_kernel_compile_loop       run_workloads
do_monitor_disable_loop*     youtube-loop.html
do_monitor_resolution_loop*  youtube-reload.html

それらを実行するには、「ru​​n」を渡す必要があることに注意してください。例えば。:

$ do_glx_loop run

引数なしで、スクリプトは使用法を表示します。一部は安全のためです(人々が盲目的にスクリプトを実行するだけの場合)が、ほとんどはスクリプトのAPIを整理するためです。

私が主演したものは、おそらく最初から最高のものです。一度に1つのスクリプトを実行することから始めて、数時間そのままにします。システムが十分に生き残っている場合は、2つ以上を同時に実行してみてください。

注:私は自分でこれらを極度にテストしていないので、バグがないと約束することはできません。しかし、それらは非常に短くてシンプルなスクリプトなので、うまく修正できれば幸いであり、パッチも大歓迎です。

また、解決しようとしているロックアップとは無関係のロックアップを引き起こす可能性が非常に高いことに注意してください。 GPUのロックアップは通常、まったく同じ症状を持っているため、訓練されていない目とほぼ同じに見えます。

ログ

Intel Graphicsを使用している場合、/ sys/kernel/debug/dri/0/i915_error_stateが必要です。これは、ハング時のレジスター状態のスナップショットであり、その上部にはいくつかのエラーコードが含まれています。 IPEHR、PGTBL_ER、ESR、EIR。これらのコードを照合して、同じまたは類似のエラーがあるかどうかを確認します。

Intel Graphicsを使用していない場合(この場合)、i915_error_stateファイルが生成されていない場合は、dmesgと/var/log/kern.logを確認してください。 時々GPUロックアップを使用すると、GPUロックアップが原因または原因を示します。

オープンソースの-ATIドライバーには、レジスタの状態をキャプチャするradeontoolとavivotoolがあります。これらは主にオープンソースの-ATI用ですが、ツールは-fglrxでも動作するはずです。 -fglrxのバグがリクエストされたのを見たことはありませんが、確かに害はありません。

テスト

すべてのドライバについて、次のステップは通常、新しいバージョンまたは古いバージョンのドライバのテストを開始することです。プロプライエタリドライバーの場合、x-updates ppaを確認できますが、おそらくベンダーのWebサイトからドライバーをダウンロードして手動でインストールする必要があります(そうするとシステムのパッケージングが台無しになります)。 -intel、-nouveau、-ATIなどのFOSSドライバーの場合、新しいカーネルまたは新しいメサのいずれかをテストすることを意味します。新しいカーネルのパッケージビルドを http://kernel.ubuntu.com/~kernel-ppa/mainline/ で提供しています。メサには、xorg-edgersなどのさまざまなPPAがあります。また、正確な8.0.3アップデートを準備中です。これにより、Intel Graphicsの多くのロックアップが修正されると考えています。

いずれにせよ、機能するバージョンを見つけたときに停止しないでください。動作中のバージョンと壊れているバージョンの間にある他のバージョンを試してください。ブラケットを2つの隣接するバージョンに絞り込むことができれば、どのパッチがリグレッションを引き起こしたかを特定する上で開発者にとって非常に役立ちます。

貢献中

トラブルシューティングを進めると、エラーを発見したり、スクリプトやドキュメントの改善を思い付くことがあります。これらへの貢献は大歓迎です。ウィキドキュメントを使用して、先に進んで編集してください!少なくとも年に1回は更新するようにしていますが、私はいつもそれを理解しているわけではありません。次のページを訪れる人は間違いなくそれらを改善するための努力に感謝します。

スクリプト自体の変更についても、大歓迎です。パッチ、bzrまたはgitブランチ、または単にスクリプトのコピーとして-あなたが快適に感じるように変更を送ってください。多くの変更を行う予定がある場合は、マージ提案を含むbzrブランチが好ましい方法です。これを行う方法のチュートリアルはcode.launchpad.netで入手できます。または、質問がある場合は、IRCでお気軽にお問い合わせください。

または、コーディングを詳しく検討する準備ができていないが、エラーまたはより多くの機能が必要な領域にフラグを立てたい場合は、通常の方法でバグレポートを提出できます(ubuntu-bug xdiagnose)。

クイックフィックス

上記のデバッグのいずれにも興味がない場合は、ランダムなヒントをいくつか紹介します。

プロプライエタリドライバーの場合は、システムから完全にアンインストールしてパージし、最初から再インストールしてみてください。これは残念ながらlotのバグを「解決」します...

FOSSドライバーには、いろいろなカーネルスイッチがあります。 3D/mesaのバグについては、さまざまな設定を微調整するdriconfもあります。

最後に

最後に、1つのリクエスト...上記のような少なくとも少しの調査を行うまで、「ランダムフリーズ」についてLaunchpadにバグレポートを提出しないでください。それ以外の場合は、ノイズに追加するだけです。

私たちはよく研究されたバグレポートを探し出します。これらは、より高い価値を与えることがわかり、実際にディストリビューションを修正する可能性が非常に高くなります。

11
Bryce