【Linux】一步一步学Linux——ipcs命令(141)

00. 目录

01. 命令概述

ipcs命令用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息。

02. 命令格式

格式:ipcs [选项] [参数]
用法:
 ipcs [resource ...] [output-format]
 ipcs [resource] -i <id>

03. 常用选项

选项:
 -i, --id <id>  打印由 id 标识的资源的详细信息
 -h, --help     显示此帮助并退出
 -V, --version  输出版本信息并退出

资源选项:
 -m, --shmems      共享内存段
 -q, --queues      消息队列
 -s, --semaphores  信号量
 -a, --all         全部(默认)

输出格式:
 -t, --time        显示附加、脱离和更改时间
 -p, --pid         显示 PID 的创建者和最后操作
 -c, --creator     显示创建者和拥有者
 -l, --limits      显示资源限制
 -u, --summary     显示状态摘要
     --human       以易读格式显示大小
 -b, --bytes       以字节数显示大小

更多信息请参阅 ipcs(1)

04. 参考示例

4.1 显示所有的IPC信息

[deng@localhost ~]$ ipcs

--------- 消息队列 -----------
键        msqid      拥有者  权限     已用字节数 消息      

------------ 共享内存段 --------------
键        shmid      拥有者  权限     字节     nattch     状态      

--------- 信号量数组 -----------
键        semid      拥有者  权限     nsems     

[deng@localhost ~]$ 

4.2 显示所有的IPC信息


[deng@localhost ~]$ ipcs -a

--------- 消息队列 -----------
键        msqid      拥有者  权限     已用字节数 消息      

------------ 共享内存段 --------------
键        shmid      拥有者  权限     字节     nattch     状态      

--------- 信号量数组 -----------
键        semid      拥有者  权限     nsems     

[deng@localhost ~]$ 

4.3 显示所有消息队列信息

[deng@localhost ~]$ ipcs -q

--------- 消息队列 -----------
键        msqid      拥有者  权限     已用字节数 消息      

[deng@localhost ~]$ 

4.4 显示所有共享内存信息

[deng@localhost ~]$ ipcs -m

------------ 共享内存段 --------------
键        shmid      拥有者  权限     字节     nattch     状态      

[deng@localhost ~]$ 

4.5 显示所有信号量信息

[deng@localhost ~]$ ipcs -s

--------- 信号量数组 -----------
键        semid      拥有者  权限     nsems     

[deng@localhost ~]$ 

4.6 显示IPC设施的详细信息

# ipcs -q -i id 

id 对应shmid、semid、msgid等。-q对应设施的类型(队列),查看信号量详细情况使用-s,查看共享内存使用-m。

4.7 显示IPC设施的限制大小(共享内存)

[root@localhost ~]# ipcs -m -l

---------- 同享内存限制 ------------
最大段数 = 4096
最大段大小 (千字节) = 2097152
最大总共享内存 (千字节) = 8388608
最小段大小 (字节) = 1

[root@localhost ~]# 

-m对应设施类型,可选参数包括-q、-m、-s。

4.8 显示创建者和拥有者

[root@localhost ~]# ipcs -c

---------- 消息队列 创建者/拥有者 ------------
msqid      权限     cuid       cgid       uid        gid       

------------- 共享内存段创建者/拥有者 ---------------
shmid      权限     cuid       cgid       uid        gid       

----------- 信号量数组创建者/拥有者 ------------
semid      权限     cuid       cgid       uid        gid    

4.9 显示创建者和拥有者(共享内存)

[root@localhost ~]# ipcs -m -c

------------- 共享内存段创建者/拥有者 ---------------
shmid      权限     cuid       cgid       uid        gid  

4.10 显示创建者和拥有者(消息队列)

[root@localhost ~]# ipcs -q -c

---------- 消息队列 创建者/拥有者 ------------
msqid      权限     cuid       cgid       uid        gid   

4.11 显示创建者和拥有者(信号量数组)

[root@localhost ~]# ipcs -s -c

----------- 信号量数组创建者/拥有者 ------------
semid      权限     cuid       cgid       uid        gid     

4.12 显示 PID 的创建者和最后操作

[root@localhost ~]# ipcs -p

--------- 消息队列 PID -----------
msqid      拥有者  lspid      lrpid     

-------- 共享内存 创建者/上次修改者 PID ----------
shmid      拥有者  cpid       lpid      


[root@localhost ~]# ipcs -m -p
[root@localhost ~]# ipcs -s -p
[root@localhost ~]# ipcs -q -p

4.13 显示附加、脱离和更改时间

[root@localhost ~]# ipcs -t

----------- 消息队列 发送/接收/更改 时间 ------------
msqid    拥有者  发送               接收               更改              

------------ 共享内存 添加/脱离/更改 时间 --------------
shmid      拥有者  已连上            已断开            已更改           

------------ 信号量 操作/更改 时间 -------------
semid    拥有者  上一操作               上次更改              

[root@localhost ~]# ipcs -m -t
[root@localhost ~]# ipcs -s -t
[root@localhost ~]# ipcs -q -t

4.14 显示状态摘要

[root@localhost ~]# ipcs -u

---------- 消息状态 -----------
已分配队列数 = 0
已用消息头(header)= 0
已用空间 = 0 字节

---------- 共享内存状态 ------------
段已分配 0
页已分配 0
页驻留  0
页交换  0
交换性能:0 次尝试       0 次成功

--------- 信号量状态 -----------
已使用数组 = 0
已分配信号量数 = 0

[root@localhost ~]# 

4.15 以字节数显示大小

[root@localhost ~]# ipcs -b

--------- 消息队列 -----------
键        msqid      拥有者  权限     已用字节数 消息      

------------ 共享内存段 --------------
键        shmid      拥有者  权限     字节     nattch     状态      

--------- 信号量数组 -----------
键        semid      拥有者  权限     nsems   

05. 附录

参考:【Linux】一步一步学Linux系列教程汇总

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些常见的Linux系统运维基础命令: 1. 查询日志文件大于100M的文件并按照大小排序: 使用命令`find /path/to/logs -size +100M -exec ls -lh {} \; | sort -k5 -h` 2. 查询当前端口进程是否运行: 使用命令`netstat -tuln | grep <port>` 3. 查看盘符信息: 使用命令`df -h` 4. 查看实例上的数据盘信息: 使用命令`lsblk` 5. 用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息: 使用命令`ipcs` 6. 查询进程号: - 显示各个进程内存使用情况并按照rss排序: 使用命令`ps aux --sort -rss` - 显示所有的进程,并显示运行进程的命令: 使用命令`ps aux` - 列出CPU使用最高的5个进程: 使用命令`top -b -n 1 | head -n 12` - 列出内存使用最高的5个进程: 使用命令`top -b -n 1 | head -n 12` 7. 通过进程ID查询执行文件所在位置: 使用命令`readlink /proc/<pid>/exe` 8. 查看文件内存: 使用命令`pmap <pid>` 9. 查看内存使用量: 使用命令`free -m` 10. 查看内存映射文件: 使用命令`cat /proc/<pid>/maps` 11. Linux查看CPU物理核心数命令: - 使用命令`lscpu | grep "Core(s) per socket"` - 使用命令`cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l` 12. Linux查看CPU逻辑核心数命令: 使用命令`lscpu | grep "CPU(s):" | awk '{print $2}'` 13. Linux查看CPU主频命令: 使用命令`lscpu | grep "MHz"` 14. Linux查看CPU型号命令: 使用命令`cat /proc/cpuinfo | grep "model name" | uniq` 15. Linux检查CPU是否支持64位运算命令(返回值大于0表示支持): 使用命令`grep -c " lm " /proc/cpuinfo` 16. 一个报告虚拟内存统计信息的小工具: 使用命令`vmstat` 17. 查询所有进程占用情况: - 使用命令`top` - 使用命令`htop` 18. 查询系统IO实时使用情况: 使用命令`iostat` 19. DMI表解码器,可以用来描述系统的构成(以及系统的演变): 使用命令`dmidecode` 20. 查看Linux系统中的CPU更为详细的信息: 使用命令`lscpu` 21. 显示每个CPU处理器的统计: 使用命令`mpstat -P ALL` 22. 可连续对系统性能进行采样分析: 使用命令`perf` 23. 查看系统内核: 使用命令`uname -a` 24. 查看CPU负载: 使用命令`uptime` 25. 跟踪进程的系统调用或信号产生的情况: 使用命令`strace <command>` 26. 跟踪进程调用库函数的情况: 使用命令`ltrace <command>` 这些命令可以帮助你了解和监控Linux系统的运行状态,进行故障排查和性能调优。请根据实际需求选择适合的命令使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值