OMSA系统信号集问题

问题发现:在nagios监控页面发现对OMSA的信息收集出现问题,登陆到有问题的系统上,发现系统日志信息如下:

Sep 26 11:10:48 localhost Server Administrator (Shared Library): Data Engine EventID: 0  A semaphore set has to be created but the system limit for the maximum number of semaphore sets has been exceeded

大概意思是说:由于系统最大信号数量的限制,Data Engine未能成功开启。

这需要修改系统内核对于 semaphore sets 的设定。方法如下:

1、查看当前对于信号量的设定

  
  
  
  
  1. $ ipcs -l 
  2.  
  3. ------ Shared Memory Limits -------- 
  4.  max number of segments = 4096 
  5.  max seg size (kbytes) = 67108864 
  6.  max total shared memory (kbytes) = 17179869184 
  7.  min seg size (bytes) = 1 
  8.  
  9. ------ Semaphore Limits -------- 
  10.  max number of arrays = 128 
  11.  max semaphores per array = 250 
  12.  max semaphores system wide = 32000 
  13.  max ops per semop call = 32 
  14.  semaphore max value = 32767 
  15.  
  16. ------ Messages: Limits -------- 
  17.  max queues system wide = 16 
  18.  max size of message (bytes) = 65536 
  19.  default max size of queue (bytes) = 65536
  
  
  
  
  1. $ sysctl -a | grep shm 
  2.  vm.hugetlb_shm_group = 0 
  3.  kernel.shmmni = 4096 
  4.  kernel.shmall = 4294967296 
  5.  kernel.shmmax = 68719476736 

发现:

max queues system wide = 16,此项过小,我准备将 the max­i­mum num­ber of mes­sage queues (MSGMNI)调整为16384,同时将 the max­i­mum num­ber of Sem­a­phore Arrays 调整为1024。

  
  
  
  
  1. sysctl -w kernel.msgmni=16384 
  2. sysctl -w kernel.sem="250 32000 100 1024" 

将此设置写到配置文件中,将在以后都生效:

  
  
  
  
  1. echo "kernel.msgmni=16384" >> /etc/sysctl.conf 
  2. echo "kernel.sem=\"250 32000 100 1024\"" >> /etc/sysctl.conf 

再次查看设定:

  
  
  
  
  1. $  ipcs -l 
  2.  
  3. ------ Shared Memory Limits -------- 
  4. max number of segments = 4096 
  5. max seg size (kbytes) = 67108864 
  6. max total shared memory (kbytes) = 17179869184 
  7. min seg size (bytes) = 1 
  8.  
  9. ------ Semaphore Limits -------- 
  10. max number of arrays = 1024 
  11. max semaphores per array = 250 
  12. max semaphores system wide = 32000 
  13. max ops per semop call = 100 
  14. semaphore max value = 32767 
  15.  
  16. ------ Messages: Limits -------- 
  17. max queues system wide = 16384 
  18. max size of message (bytes) = 65536 
  19. default max size of queue (bytes) = 65536 

至此,调整完成,一般OMSA会恢复正常。如果没有恢复,重启Data Engine即可。

  
  
  
  
  1. /etc/init.d/dataeng restart 

 

你可能感兴趣的:(OMSA)