Azure 上の Ubuntu 18.08 VM で問題が発生しています。 で大きなファイルを解凍しているときに、問題が発生するようですunzip
。 で SSH セッションがクラッシュしsend disconnect: Broken pipe
、Azure コンソールで再起動するまでマシンに SSH 接続できなくなります。
ディスク容量を確認しましたが、問題ないようです。問題は、診断ログで発見した CPU ロックアップによるものだと思います。
[ 9574.275457] rcu: blocking rcu_node structures:
[ 9581.022803] watchdog: BUG: soft lockup - CPU#1 stuck for 23s! [kauditd:22]
[ 9609.022802] watchdog: BUG: soft lockup - CPU#1 stuck for 23s! [kauditd:22]
[ 9614.067067] audit: backlog limit exceeded
[ 9614.072016] audit: backlog limit exceeded
[ 9614.076728] audit: backlog limit exceeded
[ 9637.022802] watchdog: BUG: soft lockup - CPU#1 stuck for 23s! [kauditd:22]
[ 9665.022801] watchdog: BUG: soft lockup - CPU#1 stuck for 23s! [kauditd:22]
[ 9674.339074] audit: backlog limit exceeded
[ 9674.344825] audit: backlog limit exceeded
[ 9674.351922] audit: backlog limit exceeded
[ 9693.022802] watchdog: BUG: soft lockup - CPU#1 stuck for 23s! [kauditd:22]
[ 9721.022802] watchdog: BUG: soft lockup - CPU#1 stuck for 22s! [kauditd:22]
[ 9734.182947] audit: backlog limit exceeded
[ 9734.188086] audit: backlog limit exceeded
[ 9734.194938] audit: backlog limit exceeded
[ 9736.682801] rcu: INFO: rcu_sched self-detected stall on CPU
[ 9736.684975] rcu: 1-....: (509855 ticks this GP) idle=492/1/0x4000000000000002 softirq=1049753/1049838 fqs=254454
[ 9754.486826] rcu: INFO: rcu_sched detected expedited stalls on CPUs/tasks: { 1-... } 511745 jiffies s: 525 root: 0x2/.
[ 9754.497787] rcu: blocking rcu_node structures:
[ 9761.022802] watchdog: BUG: soft lockup - CPU#1 stuck for 22s! [kauditd:22]
さらに、top
解凍中に監視を試みましたが、起動される直前にkauditd
CPU 使用率が 0% 未満から 70% ~ 100% に上昇しているのがわかりました。
top - 12:00:01 up 21 min, 1 user, load average: 1.34, 1.29, 0.98
top - 12:02:53 up 24 min, 2 users, load average: 2.80, 1.87, 1.25
Tasks: 168 total, 4 running, 95 sleeping, 0 stopped, 0 zombie
%Cpu(s): 31.8 us, 48.8 sy, 0.0 ni, 0.0 id, 19.3 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 8149152 total, 2436876 free, 958672 used, 4753604 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 6878804 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
22 root 20 0 0 0 0 R 79.3 0.0 0:02.92 kauditd
299 root 20 0 1563540 153316 35416 S 73.4 1.9 1:40.58 ds_am
29619 root 20 0 11528 5252 2088 S 3.6 0.1 0:14.03 unzip
466 root 19 -1 144180 58788 57688 S 1.3 0.7 0:03.89 systemd-journal
21596 root 20 0 0 0 0 I 0.7 0.0 0:00.65 kworker/u4:1-ev
カーネル監査デーモンが突然これほど多くの CPU を占有するようになった原因は何でしょうか? 徐々に増加するのではなく、突然 100% まで増加し、その後 VM がフリーズしました。
これまでにこれに遭遇した人はいますか?
答え1
理由はわかりません。ただし、SCREEN または BYOB を使用して、バックグラウンドで解凍することをお勧めします。
ファイルを解凍している間に、SSH セッションを閉じて、数分後に戻ると、VOILA !
答え2
これは、トレンドマイクロソフトウェア。トップの出力には、稼働時間のかなりの部分を占める1:40.58
に費やされた時間が表示されます。ds_am
この種のソフトウェアも、カーネル監査機能を設定するための候補の 1 つです (ただし、唯一の候補ではありません)。
ドキュメントを参照するか、ソフトウェアベンダーに連絡する直接的なリソースの使用状況について。ただし、まずそのソフトウェアの定期的なメンテナンスまたはアップグレード タスクがまだ保留中かどうかを確認してください。
カーネル監査フレームワークの構成を決定し、それとインターフェースする他のソフトウェアを識別します。(試してください
auditctl
)