1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

watchdog: BUG soft lockup - CPU#1 stuck for ○○s! [yyyyy:12345]

Last updated at Posted at 2023-08-30

プロローグ

とある昼下がり、Docker上に立てたWebサーバーが急に接続できなくなった。

エラー内容

PXL_20230829_121042282.jpg

どうやらCPUが応答していない。libvipsというプロセスが原因のようだ。

ひとまずスペック確認

ハード

型番 スペック
CPU AMD Ryzen5 1600 6コア12スレッド 3.2GHz
RAM CFD W4U3200CS-16G 32GB DDR4-3200 16G*2枚
SSD WD Blue SN570 NVMe WDS100T3B0C 1TB SSD M.2
M/B ASRock X370 Pro4 X370-AM4-DDR4- PCIe 3.0
G/B GT710-SL-2GD3-BRK-EVO NVIDIA GeForce GT 710
電源 PQ650M R-PQ650M-FA0B-JP 650W 80PLUS GOLD

ソフト・OS

OS: Ubuntu Server 22.04.02 LTS (Jammy)

対処方法

CPUのC6モード設定

disksystem様の記事
ハード構成上C6モード(省電力切り替え)の設定に起因するもののようです。

NVIDIAのドライバ更新

ubuntu-drivers devicesでグラフィックカードのモデルと推奨ドライバをチェック

ubuntu-drivers devices
    == /sys/devices/pci0000:00/0000:00:03.1/0000:26:00.0 ==
modalias : pci:v000010DEd0000128Bsv00001043sd00008899bc03sc00i00
vendor   : NVIDIA Corporation
model    : GK208B [GeForce GT 710]
driver   : nvidia-driver-450-server - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-418-server - distro non-free
driver   : nvidia-driver-390 - distro non-free
driver   : nvidia-driver-470 - distro non-free recommended #推奨はコレ
driver   : xserver-xorg-video-nouveau - distro free builtin

sudo ubuntu-drivers install nvidia-driver-470 で推奨ドライバを入れる

GRUBブートの変更

/etc/default/grubGRUB_CMDLINE_LINUX_DEFAULT=""nouveau.modeset=0を追記する。
もしquiet splashがあったら、その後に追記する。(GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nouveau.modeset=0")

/etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="nouveau.modeset=0" <=ココ
GRUB_CMDLINE_LINUX=""

追記したら、sudo update-grubで設定を反映する。
その後、再起動。
※もしエラーが続く場合は、ビデオドライバをロードしないオプションのnomodesetを使うことができます。

作業を終えて

設定前まではおおよそ2~14時間に1回のペースでCPU stuckを起こしていたが、設定後は2日間連続で稼働している。
ただ、AMD公式のコミュニティでも2020年までずっと議論されていたようで、根本的な解決には至っていなかった点は注意が必要である。

ログを参照するとstuckの前にDockerのエラーっぽいものもあったので、Docker, Docker-compose周りの問題を探ってみたり、グラフィックボードの問題なのか調べてみたりして、1日間は丸々溶かした。
問題調査にあたっては、公式他、スペイン語圏の記事に助けられた。スペイン語出来て得した…
引き続きCPUの温度管理をしながら監視していくしかない気がする。そうでなければハードの組み直しも検討するのが良いだろう。

追跡記録

  • 2023/09/02 [稼働して5日間経過]
    問題なく稼働し続けている。サーバーへのアクセス数も増えているが、目立ったエラーもなく、CPU,メモリも問題ない。
  • 2023/09/05 [稼働して8日間経過]
    サーバーのsyslog,dmseg, kern_log等では異常も見当たらず、順調に稼働している。CPUの温度も問題ない。

参考URL

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?