由于 kauditd CPU 使用率过高,Ubuntu VM SSH 会话在大型解压缩过程中崩溃

由于 kauditd CPU 使用率过高,Ubuntu VM SSH 会话在大型解压缩过程中崩溃

我在 Azure 上使用 Ubuntu 18.08 VM 时遇到问题。当我使用 解压大型文件时,似乎会出现此问题unzip。我的 SSH 会话因 而崩溃send disconnect: Broken pipe,我无法再通过 SSH 连接到计算机,直到我在 Azure 控制台上重新启动它。

我已经检查了磁盘空间并且看起来没有问题,我认为问题是由于我在诊断日志中发现的 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. 请参阅文档和/或联系软件供应商关于直接资源使用情况。但是请先检查该软件是否仍有任何常规维护或升级任务待处理。

  2. 确定内核审计框架的配置并识别与其交互的其他软件。(尝试auditctl

相关内容