zabbix agentd 无法启动,在日志中发现报错如下
19661:20151119:103530.258 Starting Zabbix Agent [UCHS-AH3G-SENDER-01]. Zabbix 2.2.9 (revision 52686).
19661:20151119:103530.258 using configuration file: /usr/local/etc/zabbix_agentd.conf
19661:20151119:103530.258 cannot allocate shared memory of size 527272: [22] Invalid argument
19661:20151119:103530.258 cannot allocate shared memory for collector
这是因为内核对share memory的限制;
可以通过命令ipcs -l 查看
[iyunv@fanyk etc]# ipcs -l
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 0
max total shared memory (kbytes) = 0
min seg size (bytes) = 1
.......
[iyunv@fanyk etc]#
其中,
max seg size (kbytes) = 0 max total shared memory (kbytes) = 0 这两项均为零,说明没有对共享内存进行限制,那应该是共享共存进行了限制。
[iyunv@fanyk etc]# sysctl -a|grep kernel.shm
kernel.shmmni = 4096
kernel.shmall = 0
kernel.shmmax = 0
从上述结果看,kernel.shmall代表总共能分配的共享内存,kernel.shmax代表单个段能allocate的内存(以字节为单位),这里都是0,那么问题就在这了,需要调整这两个的参数。我的机器为8G内存,所以设置
kernel.shmall = 3294967296
kernel.shmmax = 1294967296
然后执行sysctl -p 使设置生效;这样zabbix agentd 就可以正常启动了
执行sysctl -a|grep kernel.shm结果如下:
[iyunv@fanyk ~]# sysctl -a|grep kernel.shm
kernel.shmmni = 4096
kernel.shmall = 3294967296
kernel.shmmax = 1294967296
[iyunv@fanyk ~]
|