cat /proc/sys/kernel/sem
250 32000 32 128
或者
ipcs -ls
創(chuàng)新互聯(lián)公司自2013年起,先為互助等服務建站,互助等地企業(yè),進行企業(yè)商務咨詢服務。為互助企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 32
semaphore max value = 32767
我機器上的信號隊列arrays
ipcs -a | wc -l
144
144>128 為什么超了,這個我也不懂,但是我的openmanage插件一直超時,而且無法啟動,無法停止,真TM的 查這個問題花了我好長時間
首先 介紹下kernel.sem這4個參數(shù)的意義
cat /proc/sys/kernel/sem
250 32000 32 128
250 SEMMSL max semaphores per array 信號集容納最大信號數(shù)量
32000 SEMMNS max semaphores system wide 所有信號的最大數(shù)量
32 SEMOPM max ops per semop call 調用單個信號集中最大信號數(shù)量
128 SEMMNI max number of arrays 信號集的最大值
首先
max semaphores per array
max number of arrays
這2個參數(shù)肯定是不夠的,我們先調高一點
echo "500 641280 500 500" > /proc/sys/kernel/sem
我們利用
ipcs -a | grep nagios | wc -l
90 查看當前nagios用戶信號數(shù)量
然后把它全清理掉。
ipcs -a | grep nagios | awk '{print $2}' | xargs -n1 ipcrm -s 關于ipcs和ipcrm這2個命令的解釋網(wǎng)上很多,我就不再說了
ipcs -a | grep nagios | wc -l
全部清理掉后,重啟應用 比如
/opt/dell/srvadmin/sbin/srvadmin-services.sh stop
ipcs用法
ipcs -a 是默認的輸出信息 打印出當前系統(tǒng)中所有的進程間通信方式的信息
ipcs -m 打印出使用共享內存進行進程間通信的信息
ipcs -q 打印出使用消息隊列進行進程間通信的信息
ipcs -s 打印出使用信號進行進程間通信的信息
ipcs -t 輸出信息的詳細變化時間
ipcs -p 輸出ipc方式的進程ID
ipcs -c 輸出ipc方式的創(chuàng)建者/擁有者
ipcs -u 輸出當前系統(tǒng)下ipc各種方式的狀態(tài)信息(共享內存,消息隊列,信號)
ipcrm用法
-m SharedMemory id 刪除共享內存標識 SharedMemoryID。與 SharedMemoryID 有關聯(lián)的共享內存段以及數(shù)據(jù)結構都會在最后一次拆離操作后刪除。
-M SharedMemoryKey 刪除用關鍵字 SharedMemoryKey 創(chuàng)建的共享內存標識。與其相關的共享內存段和數(shù)據(jù)結構段都將在最后一次拆離操作后刪除。
-q MessageID 刪除消息隊列標識 MessageID 和與其相關的消息隊列和數(shù)據(jù)結構。
-Q MessageKey 刪除由關鍵字 MessageKey 創(chuàng)建的消息隊列標識和與其相關的消息隊列和數(shù)據(jù)結構。
-s SemaphoreID 刪除信號量標識 SemaphoreID 和與其相關的信號量集及數(shù)據(jù)結構。
-S SemaphoreKey 刪除由關鍵字 SemaphoreKey 創(chuàng)建的信號標識和與其相關的信號量集和數(shù)據(jù)結構。
ipcrm -m 18602