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
来源:****
原文:https://blog.****.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标识的消息队列