参考文档
1 2 https://blog.51cto.com/seekerwolf/2357220 https://www.centos.bz/2017/08/zabbix-zbx_mem_malloc-out-of-memory/
环境
1 2 CentOS 7.5.1804 Zabbix 3.4.15
现象 zabbix web图形界面显示zabbix server is not running,进入zabbix服务器 systemctl status zabbix-server显示服务down掉
排查 1.试着重新启动zabbix-server,启动不成功 2.查看日志/var/log/zabbix/zabbix_server.log
首先发现如下错误
1 2 3 zabbix_server [7988]: cannot open log: cannot create semaphore set: [28] No space left on device zabbix_server [8008]: cannot open log: cannot create semaphore set: [28] No space left on device zabbix_server [8022]: cannot open log: cannot create semaphore set: [28] No space left on device
根据网上资料修改kernel.sem参数,默认如下
1 2 [root@zabbix zabbix]# cat /proc/sys/kernel/sem 250 32000 32 128
其中含义分别如下
1 2 3 4 250 SEMMSL max semaphores per array 信号集容纳最大信号数量 32000 SEMMNS max semaphores system wide 所有信号的最大数量 32 SEMOPM max ops per semop call 调用单个信号集中最大信号数量 128 SEMMNI max number of arrays 信号集的最大值
直接增加1倍,并使其生效
1 2 3 [root@zabbix zabbix]# echo 'kernel.sem = 500 64000 64 256' >> /etc/sysctl.conf [root@zabbix zabbix]# sysctl -p kernel.sem = 500 64000 64 256
最后杀掉zabbix占用的共享信道
1 2 3 4 5 [root@zabbix zabbix]# ipcs -s|wc -l 143 [root@zabbix zabbix]# ipcs -s | grep zabbix | awk '{print $2}' | xargs -n 1 ipcrm -s [root@zabbix zabbix]# ipcs -s|wc -l 10
3.第二次启动zabbix-server发现如下错误
1 2 3 4 5 6 8599:20200401:140301.791 using configuration file: /etc/zabbix/zabbix_server.conf 8599:20200401:140301.798 current database version (mandatory/optional): 03040000/03040007 8599:20200401:140301.799 required mandatory version: 03040000 8599:20200401:140302.063 __mem_malloc: skipped 0 asked 120 skip_min 4294967295 skip_max 0 8599:20200401:140302.063 [file:dbconfig.c,line:90] zbx_mem_malloc(): out of memory (requested 120 bytes) 8599:20200401:140302.063 [file:dbconfig.c,line:90] zbx_mem_malloc(): please increase CacheSize configuration parameter
报错显示zabbix分配内存时出现了oom,默认zabbix服务器内存是够用的,幸好有提示请增加CacheSize,查资料发现可以在配置文件里增加该值,默认是8M,增加到1024M,第三次启动zabbix-server终于能正常启动了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 [root@zabbix zabbix]# grep CacheSize /etc/zabbix/zabbix_server.conf ### Option: VMwareCacheSize # VMwareCacheSize=8M ### Option: CacheSize CacheSize=1024M ### Option: HistoryCacheSize # HistoryCacheSize=16M ### Option: HistoryIndexCacheSize # HistoryIndexCacheSize=4M ### Option: TrendCacheSize # TrendCacheSize=4M ### Option: ValueCacheSize # ValueCacheSize=8M