linux系统关于kernel.sem调优

  

  猫/proc/sys/kernel/sem   
  250,,,,32000,,32岁,,,,,128   
  或者   
  ipc - ls   

  

  - - - - - - - - - - - - - - - -信号量限制   
  最大数量的数组=128   
  最大信号量数组每=250   
  最大信号系统宽=32000   
  马克斯运维/semop电话=32   
  信号量最大价值=https://www.yisu.com/zixun/32767   

  

  我机器上的信号队列数组   
  ipc - a | wc - l   
  144   

  

  144年在128年为什么超了,这个我也不懂,但是我的openmanage插件一直超时,而且无法启动,无法停止,真TM的查这个问题花了我好长时间   

  

  首先介绍下kernel.sem这4个参数的意义   

  

  
  猫/proc/sys/kernel/sem   
  250,,,,32000,,32岁,,,,,128   

  

  250,,,,,,SEMMSL ,,马克斯每array 信号;,,,信号集容纳最大信号数量,,   
  32000,,,,SEMMNS ,,最大信号系统wide ,所有信号的最大数量   
  32岁,,,,,,,SEMOPM ,,马克斯运维/semop call ,,,,,调用单个信号集中最大信号数量   
  128,,,,,,SEMMNI ,,马克斯arrays ,,,,,,,信号集的最大值   

  

  首先   
  最大信号量数组每   
  最大数量的数组   

  

  这2个参数肯定是不够的,我们先调高一点   
  回声“500 641280 500 500“;比;/proc/sys/kernel/sem   

  

  我们利用   
  ipc - a | grep nagios | wc - l   
  90,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,查看当前nagios用户信号数量   

  

  然后把它全清理掉。   
  ipc - a | grep nagios | awk & # 39;{打印$ 2}& # 39;| xargs n1使用ipcs -s ,,,,,,,,,,,,,,,,关于ipc和使用ipcs这2个命令的解释网上很多,我就不再说了   
  ipc - a | grep nagios | wc - l   
  

  

  全部清理掉后,重启应用,比如   
/opt/dell/srvadmin/sbin/srvadmin-services。sh停止   

  

  ipc用法   
  ipc -a 是默认的输出信息打印出当前系统中所有的进程间通信方式的信息   
  ipc -m 打印出使用共享内存进行进程间通信的信息   
  ipc -q ,打印出使用消息队列进行进程间通信的信息   
  ipc -s 打印出使用信号进行进程间通信的信息   
  ipc -t ,输出信息的详细变化时间   
  ipc -p 输出ipc方式的进程ID   
  ipc -c 输出ipc方式的创建者/拥有者   
  ipc -u 输出当前系统下ipc各种方式的状态信息(共享内存,消息队列,信号)   

  

  使用ipcs用法   
  - m SharedMemory id删除共享内存标识SharedMemoryID。与SharedMemoryID有关联的共享内存段以及数据结构都会在最后一次拆离操作后删除。   
  - m SharedMemoryKey删除用关键字SharedMemoryKey创建的共享内存标识。与其相关的共享内存段和数据结构段都将在最后一次拆离操作后删除。   
  q消息id删除消息队列标识消息id和与其相关的消息队列和数据结构。   
  q MessageKey删除由关键字MessageKey创建的消息队列标识和与其相关的消息队列和数据结构。   
  - s SemaphoreID删除信号量标识SemaphoreID和与其相关的信号量集及数据结构。   
  - s SemaphoreKey删除由关键字SemaphoreKey创建的信号标识和与其相关的信号量集和数据结构。   

  

  使用ipcs - m 18602   

  

  

linux系统关于kernel.sem调优