ipcs -h可以查看該命令的使用幫助:

1、信號量在創建時分信號量集和信號量的概念,該命令的查詢結果中,Semaphore Arrays下面每一行代表一個信號量集,其中perms對應信號量集的權限,nsems對應信號量集中信號量的個數,對於信號量集的創建方法可以查詢semctl相關的函數使用方法。

1、從該命令結果中可以看到Message Queues PIDs中的msqid既對應上條命令結果中的消息隊列id,根據id則可以獲取到lspid、lrpid消息,其中lspid代表最近一次向消息隊列中發送消息的“進程號”,lrpid對應最近一次從消息隊列中讀取消息的“進程號”。但請注意:此處的進程號是弱進程號,既它有可能代表的是線程號,如果進程中是起的線程對消息隊列發送、接收消息,則此處pid對應的均是線程號。可以采用ps -AL | grep pid來查找該線程對應的進程id。


1、從中可以看到以下信號量的限制信息,其中信號量集最大個數為128、每個信號量集中信號量最大個數為250、所有信號量最大個數為32000、每個信號量可以被同時調用的次數為32,這些參數是linux系統下的默認參數,對於限制參數也可以做一定程度的優化,會有一定程度上性能的提升,具體優化方法可以搜索相關帖子。

---------------------
作者:axiaochong
來源:CSDN
原文:https://blog.csdn.net/dalongyes/article/details/50616162
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
ipcs
1. 命令格式
ipcs [resource-option] [output-format]
ipcs [resource-option] -i id
2. 命令功能
提供IPC設備的信息
3. 使用方法
resource選項:
ipcs -m 查看系統共享內存信息
ipcs -q 查看系統消息隊列信息
ipcs -s 查看系統信號量信息
ipcs [-a] 系統默認輸出信息,顯示系統內所有的IPC信息
[martin@localhost data]$ ipcs -a ------ Message Queues -------- key msqid owner perms used-bytes messages ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x00000000 229376 martin 600 4194304 2 dest 0x00000000 196609 martin 600 524288 2 dest 0x00000000 327682 martin 600 393216 2 dest 0x00000000 491525 martin 600 2097152 2 dest ------ Semaphore Arrays -------- key semid owner perms nsems
輸出格式控制:
ipcs -c 查看IPC的創建者和所有者
ipcs -l 查看IPC資源的限制信息
ipcs -p 查看IPC資源的創建者和使用的進程ID
ipcs -t 查看最新調用IPC資源的詳細時間
ipcs -u 查看IPC資源狀態匯總信息
[martin@localhost data]$ ipcs -u --human ------ Messages Status -------- allocated queues = 0 used headers = 0 used space = 0B ------ Shared Memory Status -------- segments allocated 4 pages allocated 1760 pages resident 339 pages swapped 0 Swap performance: 0 attempts 0 successes ------ Semaphore Status -------- used arrays = 0 allocated semaphores = 0
額外格式控制:
ipcs -l --human
以人類可以閱讀的方式顯示size
[martin@localhost data]$ ipcs -l --human ------ Messages Limits -------- max queues system wide = 3644 max size of message = 8K default max size of queue = 16K ------ Shared Memory Limits -------- max number of segments = 4096 max seg size = 16E max total shared memory = 16E min seg size = 1B ------ 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 = 3276
ipcrm
1. 命令功能
通過指定ID刪除刪除IPC資源,同時將與IPC對象關聯的數據一並刪除,只有超級用戶或IPC資源創建者能夠刪除
2. 使用方法
ipcrm -M shmkey
移除用shmkey創建的共享內存段
ipcrm -m shmid
移除用shmid標識的共享內存段
ipcrm -S semkey
移除用semkey創建的信號量
ipcrm -s semid
移除用semid標識的信號量
ipcrm -Q msgkey
移除用msgkey創建的消息隊列
ipcrm -q msgid
移除用msgid標識的消息隊列