Linux系统中的ipcs命令使用详解
用途
报告进程间通信设施状态。
语法
代码如下:
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/sysctl.conf
< p>kernel.msgmnb =4203520
#kernel.msgmnb =3520
kernel.msgmni = 2878
保存后需要执行 sysctl -p ,然后重建所有消息队列
ipcs -q : 显示所有的消息队列
ipcs -qt : 显示消息队列的创建时间,发送和接收最后一条消息的时间
代码如下:
goosns@[192.168.99.90:/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@[192.168.99.90:/hai]$ ipcs -qp
------ Message Queues PIDs --------
msqid owner lspid lrpid
65536 mas 0 0
98305 mas 21941 21941
ipcs -q -i msgid: 显示该消息队列结构体中的消息信息:
代码如下:
goosns@[192.168.99.90:/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@[192.168.99.90:/hai]$ ipcs -ql
------ Messages: Limits --------
max queues system wide = 2878 //最大进程数
max size of message (bytes) = 8192 //队列中最大消息长度
default max size of queue (bytes) = 4203520