MongoDB服务器卡死解决

MongoDB服务器卡死,无法ping通,无法远程连接,无法登陆终端,终端显示: 
CentOS 7- kernel: BUG: soft lockup - CPU#3 stuck for 30s! [xxx:xxx]: 

原因分析:

原因1:系统缓存过大引起内存使用率高

原因2:内核bug或者内核参数设置不合理

原因3:MongoDB参数配置不合理

解决方法:

1.修改内存强制回收等级

先设置 
# echo 3 > /proc/sys/vm/drop_caches 
再设置 
# echo 1 > /proc/sys/vm/drop_caches

2.增加内核参数

# vi /etc/sysctl.conf

##内核默认参数(循环超时)

kernel.watchdog_thresh=30

##内存回收

vm.min_free_kbytes=409600

vm.vfs_cache_pressure=200

3.内核循环超时(s)

# echo 30 >/proc/sys/kernel/watchdog_thresh

4.修改mongodb.conf

# vi /usr/local/mongodb/conf/mongodb.conf (以实际目录为准)

#限制内存使用

wiredTigerCacheSizeGB=10

5.关闭大叶内存

vim /etc/rc.local

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

6.定时查看日志:

# grep ‘soft lockup’ /var/log/messages*

7.设置死循环宕机重启

# echo 1 > /proc/sys/kernel/softlockup_panic

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值