グラフィックカードが時々クラッシュする。迷惑ですが、私はこれを監督しています。通常、グラフィックを再起動するsudo systemctl restart lightdm.service
か、必要に応じてシステム全体を再起動します。
この特別なケースではsystemctl
通話が中断され、再起動したくない機械で長く実行されているタスクがあるからです。
競合は次dmesg
のように記録されます。
[944520.212254] Call Trace:
[944520.212256] [<ffffffff818384d5>] schedule+0x35/0x80
[944520.212257] [<ffffffff8183b625>] schedule_timeout+0x1b5/0x270
[944520.212280] [<ffffffffc0235244>] ? dce_v6_0_program_watermarks+0x514/0x720 [amdgpu]
[944520.212282] [<ffffffffc0196d2c>] kcl_fence_default_wait+0x1cc/0x260 [amdkcl]
[944520.212287] [<ffffffff815b4f50>] ? fence_free+0x20/0x20
amdgpu
モジュールがクラッシュしたようです。再起動したいので試してみました。
sudo modprobe -r amdgpu
modprobe: FATAL: Module amdgpu is in use.
誰が使っているのか調べようamdgpu
としたら
lsmod | grep amdgpu
amdgpu 2129920 7
amdttm 102400 1 amdgpu
amdkcl 32768 1 amdgpu
i2c_algo_bit 16384 1 amdgpu
drm_kms_helper 155648 1 amdgpu
drm 364544 10 drm_kms_helper,amdgpu,amdkcl,amdttm
このモジュールを使用する基本的に7つの「モノ」がありますが、どのようにしてモジュールを削除するのかわかりませんamdgpu
。
質問:システムを再起動せずにモジュールを再ロードするための合理的な方法はありますか?それとも私のビデオを再インポートするより良い方法はありますか?
ベストアンサー1
@Chris Stryczynskiが言ったように、sudo cat /sys/kernel/debug/dri/N/amdgpu_gpu_recover
これはamdgpuカーネルモジュールを再ロードする正しい方法であるか、カーネルパラメータでシステムをamdgpu.gpu_recovery=1
起動してクラッシュ時に自動的にリセットすることができます。
ただし、ディスプレイサーバー(XorgまたはWayland)はグラフィックスタックを再初期化する必要があり、デスクトップ環境ではこれを実行できないため、これらのオプションはあまり役に立ちません。 (まだ実装されていません。)
gpu_recoveryカーネルパラメータを使用すると、ジョブを保存してから表示されなくても再起動できます。