ipcs命令

ipcs provides information on the ipc facilities for which the calling process has read access.

ipcs: 主要提供调用进程读取访问一些ipc设备信息.如:共享内存,信号量,消息队列

ipcs [ -asmq ] [ -tclup ]

ipcs [ -smq ] -i id

-m 输出共享内存(shared memory segments)的信息

-s 输出信号量(semaphore)的信息

-q 输出消息队列(message queues)的信息

-l limits

root@10.1.1.45:log# ipcs

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status      

------ Semaphore Arrays --------
key        semid      owner      perms      nsems     
0x00002af9 131072     db        664        1         
0x00002afb 163841     db        664        1         
0x00002b03 65538      db        664        1         
0x00002b05 98307      db        664        1         

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages
其中Key为应用程序存取资源使用的参数,id为资源条目的唯一标示号.

例如实际情况可能会遇到db用户程序是用root账户启动,这时首先root账户关掉db用户的程序,但共享内存有可能未释放,需要手动删除.这就要用到ipcrm 命令.

ipcrm - remove a message queue, semaphore set or shared memory id

ipcrm [ -M key | -m id | -Q key | -q id | -S key | -s id ] 

-m shmid

-q msqid

-s semid

root@10.1.1.45:log# ipcs -s

------ Semaphore Arrays --------
key        semid      owner      perms      nsems     
0x00002af9 131072     db        664        1         
0x00002afb 163841     db        664        1         
0x00002b03 65538      db        664        1         
0x00002b05 98307      db        664        1 

root@10.1.1.45:log# ipcrm -s 131072
root@10.1.1.45:log# ipcrm -s 163841
root@10.1.1.45:log# ipcrm -s 65538
root@10.1.1.45:log# ipcrm -s 98307

root@10.1.1.45:~# ipcs 

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status      

------ Semaphore Arrays --------
key        semid      owner      perms      nsems     

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages
root@10.1.1.45:~# ipcs -l

------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 32768
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1

------ 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

------ Messages: Limits --------
max queues system wide = 16
max size of message (bytes) = 8192
default max size of queue (bytes) = 16384
有2种方法改变其值

1.更改/etc/sysctl.conf ,添加kernel.msgmni = 1024,生效加载配置使用sysctl -p

kernel.msgmni 该文件指定消息队列标识的最大数目,即系统范围内最大多少个消息队列。

root@10.1.1.45:~# cat /proc/sys/kernel/msgmni
16
root@10.1.1.45:~# vim /etc/sysctl.conf 
root@10.1.1.45:~# sysctl -p
kernel.msgmni = 1024
root@10.1.1.45:~# cat /proc/sys/kernel/msgmni
1024

2.在root下使用sysctl命令,直接生效.

root@10.1.1.45:~# sysctl -w kernel.msgmni=16
kernel.msgmni = 16
root@10.1.1.45:~# cat /proc/sys/kernel/msgmni
16



转载于:https://my.oschina.net/davehe/blog/140575

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值