我在 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
在解压过程中进行监控,就在我被启动之前,我看到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
,占正常运行时间的很大一部分。
此类软件也是设置内核审计设施的可能候选者(尽管不是唯一的)。
请参阅文档和/或联系软件供应商关于直接资源使用情况。但是请先检查该软件是否仍有任何常规维护或升级任务待处理。
确定内核审计框架的配置并识别与其交互的其他软件。(尝试
auditctl
)