kauditd の CPU 使用率が高いため、大規模な解凍中に Ubuntu VM SSH セッションがクラッシュする

kauditd の CPU 使用率が高いため、大規模な解凍中に Ubuntu VM SSH セッションがクラッシュする

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解凍中に監視を試みましたが、起動される直前にkauditdCPU 使用率が 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 つです (ただし、唯一の候補ではありません)。

  1. ドキュメントを参照するか、ソフトウェアベンダーに連絡する直接的なリソースの使用状況について。ただし、まずそのソフトウェアの定期的なメンテナンスまたはアップグレード タスクがまだ保留中かどうかを確認してください。

  2. カーネル監査フレームワークの構成を決定し、それとインターフェースする他のソフトウェアを識別します。(試してくださいauditctl)

関連情報