今天安装Zabbix-agent由于ListenIP=误配成了一个不存在的主机名,尝试启动失败后,再改回正确配置,然而无法再启动,报以下错误:
zabbix_agentd [2463]: cannot open log: cannot create semaphore set: [28] No space left on device
zabbix_agentd [2886]: cannot open log: cannot create semaphore set: [28] No space left on device
zabbix_agentd [4200]: cannot open log: cannot create semaphore set: [28] No space left on device
zabbix_agentd [4525]: cannot open log: cannot create semaphore set: [28] No space left on device
zabbix_agentd [4852]: cannot open log: cannot create semaphore set: [28] No space left on device
这是由于Semaphore Arrays信号量集不足导致,用ipcs -s
命令查看,有很多zabbix相关的信号量集列表
ipcs -s | grep zabbix
处理方法,可以安全的删除它
ipcs -s | grep zabbix| awk ' { print $2 } ' | xargs -n 1 ipcrm -s
然后有出现zbx_mem_malloc(): out of memory 的问题
解决办法:默认zabbix_server.conf的配置:(路径一般是/etc/zabbix/zabbix_server.conf)
修改这两项配置,其他人会告诉你只修改CacheSize,如果光改CacheSize之后还是会出现内存溢出的问题,所以CacheSize与TrendCacheSize两项都修改,建议根据机器配置去衡量修改的参数.
CacheSize=512 改为2G
TrendCacheSize=6M 改为512M