您好,登錄后才能下訂單哦!
cat /proc/sys/kernel/sem
250 32000 32 128
或者
ipcs -ls
------ 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個參數的意義
cat /proc/sys/kernel/sem
250 32000 32 128
250 SEMMSL max semaphores per array 信號集容納最大信號數量
32000 SEMMNS max semaphores system wide 所有信號的最大數量
32 SEMOPM max ops per semop call 調用單個信號集中最大信號數量
128 SEMMNI max number of arrays 信號集的最大值
首先
max semaphores per array
max number of arrays
這2個參數肯定是不夠的,我們先調高一點
echo "500 641280 500 500" > /proc/sys/kernel/sem
我們利用
ipcs -a | grep nagios | wc -l
90 查看當前nagios用戶信號數量
然后把它全清理掉。
ipcs -a | grep nagios | awk '{print $2}' | xargs -n1 ipcrm -s 關于ipcs和ipcrm這2個命令的解釋網上很多,我就不再說了
ipcs -a | grep nagios | wc -l
全部清理掉后,重啟應用 比如
/opt/dell/srvadmin/sbin/srvadmin-services.sh stop
ipcs用法
ipcs -a 是默認的輸出信息 打印出當前系統中所有的進程間通信方式的信息
ipcs -m 打印出使用共享內存進行進程間通信的信息
ipcs -q 打印出使用消息隊列進行進程間通信的信息
ipcs -s 打印出使用信號進行進程間通信的信息
ipcs -t 輸出信息的詳細變化時間
ipcs -p 輸出ipc方式的進程ID
ipcs -c 輸出ipc方式的創建者/擁有者
ipcs -u 輸出當前系統下ipc各種方式的狀態信息(共享內存,消息隊列,信號)
ipcrm用法
-m SharedMemory id 刪除共享內存標識 SharedMemoryID。與 SharedMemoryID 有關聯的共享內存段以及數據結構都會在最后一次拆離操作后刪除。
-M SharedMemoryKey 刪除用關鍵字 SharedMemoryKey 創建的共享內存標識。與其相關的共享內存段和數據結構段都將在最后一次拆離操作后刪除。
-q MessageID 刪除消息隊列標識 MessageID 和與其相關的消息隊列和數據結構。
-Q MessageKey 刪除由關鍵字 MessageKey 創建的消息隊列標識和與其相關的消息隊列和數據結構。
-s SemaphoreID 刪除信號量標識 SemaphoreID 和與其相關的信號量集及數據結構。
-S SemaphoreKey 刪除由關鍵字 SemaphoreKey 創建的信號標識和與其相關的信號量集和數據結構。
ipcrm -m 18602
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。