zoukankan      html  css  js  c++  java
  • Linux 命令 ipcs/ipcrm

    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标识的消息队列

     
    查看共享内存
    [app_usr@js2test01 shell]$ ipcs
    ------ Shared Memory Segments --------
    key        shmid      owner      perms      bytes      nattch     status     
    0x0122f9df 12419074   app_usr   666        70604918   0                      
    0x0001b3ef 14450693   app_usr   666        70604278   0                      
    0x0003d09a 14385158   app_usr   666        67732      1
    //各字段含义:
    第一列就是共享内存的key;
    第二列是共享内存的编号shmid;
    第三列就是创建的用户owner;
    第四列就是权限perms;
    第五列为创建的大小bytes;
    第六列为连接到共享内存的进程数nattach;
    第七列是共享内存的状态status。其中显示“dest”表示共享内存段已经被删除,但是还有用户在使用它,当该段内存的mode字段设置为SHM_DEST时就会显示“dest”。当用户调用shmctl的IPC_RMID时,内存先查看多少个进程与这个内存关联着,如果关联数为0,就会销毁这段共享内存,否者设置这段内存的mod的mode位为SHM_DEST,如果所有进程都不用则删除这段共享内存。
    //删除共享内存
    直接使用#ipcrm -m shmid可能不能直接删除掉还存在进程使用的共享内存。这时候可以用ps -ef对进程进行查看,kill掉多余的进程后,再使用ipcs查看。
     ————————————————
    版权声明:本文为CSDN博主「redcisco」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/jgy8421d13/article/details/52230157
  • 相关阅读:
    前插法创建带头节点的单链表
    利用Oracle数据库发送邮件
    关于如何给C#中的ListBox控件添加双击事件
    类似QQ表情的功能,包括动态绑定图片
    ASP.NET 缓存技术总结
    VS2008 快捷键大全
    Oracle 中union的用法
    C#找到Excel中的所有Sheetname的方法
    推荐一个学习XPath的网站
    Oracle游标使用大全
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/11412467.html
Copyright © 2011-2022 走看看