遇到了 kernel 的问题,记录一下~
报错信息:
Message from syslogd@app at Nov 18 22:00:53 ...
kernel:NMI watchdog: BUG: soft lockup - CPU#2 stuck for 43s! [java:3645]
报错原因:
跑大量高负载程序,造成cpu soft lockup。
Soft lockup就是内核软死锁,这个bug没有让系统彻底死机,但是若干个进程(或者kernel thread)被锁死在了某个状态(一般在内核区域),很多情况下这个是由于内核锁的使用的问题。
解决办法:
#!/bin/bash
#修改阈值为30,写入文件
echo 30 > /proc/sys/kernel/watchdog_thresh
#修改阈值为30,临时生效
sysctl -w kernel.watchdog_thresh=30
#修改阈值为30,写入启动文件
grep 'watchdog_thresh' /etc/sysctl.conf
if [ $? -ne 0 ]; then
echo "kernel.watchdog_thresh=30" >> /etc/sysctl.conf
else
echo "正常"
fi