用途
報告程序間通訊設施狀態。
語法
程式碼如下:
ipcs [-mqs] [-abcopt] [-C core] [-N namelist]
-m 輸出有關共享記憶體(shared memory)的資訊
-q 輸出有關資訊佇列(message queue)的資訊
-s 輸出訊號量(semaphore)的資訊
# ipcs -m
IPC status from as of 2007年04月10日 星期二 18時32分18秒 CST
T ID KEY MODE OWNER GROUP
Shared Memory:
m 0 0x50000d43 --rw-r--r-- root root
m 501 0x1e90c97c --rw-r----- oracle dba
ipcrm - 刪除ipc(清除共享記憶體資訊)
引用
它的語法:
程式碼如下:
ipcrm -m|-q|-s shm_id
-m 輸出有關共享記憶體(shared memory)的資訊
-q 輸出有關資訊佇列(message queue)的資訊
-s 輸出訊號量(semaphore)的資訊
shm_id 共享記憶體id
#ipcrm -m 501
描述
ipcs 命令往標準輸出寫入一些關於活動程序間通訊設施的資訊。如果沒有指定任何標誌,ipcs 命令用簡短格式寫入一些關於當前活動訊息佇列、共享記憶體段、訊號量、遠端佇列和本地佇列標題。
列標題和在 ipcs 命令中的列的含義列在下面。圓括號內的字母表示導致對應的'報頭出現的標誌。all 設計符表示始終顯示報頭。這些標誌僅僅確定提供給每個裝置何種資訊。但它們並不確定將列出哪些裝置。
ipcs檢視訊息佇列命令
程式碼如下:
ISD_1_3_sles10_64:/usr/local/services/httpd/bin # ipcs -ql
------ Messages: Limits --------
max queues system wide =16
max size of message (bytes) = 65536
default max size of queue (bytes) = 65536
------------------------------------
修改訊息佇列大小:
程式碼如下:
root:使用者: /etc/
< p>nb =4203520
#nb =3520
ni = 2878
儲存後需要執行 sysctl -p ,然後重建所有訊息佇列
ipcs -q : 顯示所有的訊息佇列
ipcs -qt : 顯示訊息佇列的建立時間,傳送和接收最後一條訊息的時間
程式碼如下:
goosns@[:/hai]$ ipcs -qt
------ Message Queues Send/Recv/Change Times --------
msqid owner send recv change
65536 mas Not set Not set May 15 15:56:39
98305 mas May 15 15:59:22 May 15 15:59:22 May 15 15:56:39
ipcs -qp: 顯示往訊息佇列中放訊息和從訊息佇列中取訊息的程序ID
程式碼如下:
goosns@[:/hai]$ ipcs -qp
------ Message Queues PIDs --------
msqid owner lspid lrpid
65536 mas 0 0
98305 mas 21941 21941
ipcs -q -i msgid: 顯示該訊息佇列結構體中的訊息資訊:
程式碼如下:
goosns@[:/hai]$ ipcs -q -i 98305
Message Queue msqid=98305
uid=512 gid=500 cuid=512 cgid=500 mode=0600
cbytes=0 qbytes=4203520 qnum=0 lspid=21941 lrpid=21941
send_time=Thu May 15 16:00:19 2008
rcv_time=Thu May 15 16:00:19 2008
change_time=Thu May 15 15:56:39 2008
ipcs -ql : 顯示訊息佇列的限制資訊:
程式碼如下:
goosns@[:/hai]$ ipcs -ql
------ Messages: Limits --------
max queues system wide = 2878 //最大程序數
max size of message (bytes) = 8192 //佇列中最大訊息長度
default max size of queue (bytes) = 4203520