




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux下ipcs指令的用法详解。ipcs是Linux下显示进程间通信设施状态的工具。可以显示消息队列、共享内存和信号量的信息。对于程序员可能更有用些,普通的系统管理员一般用不到此指令。(1)显示消息队列信息,修改消息队列大小:root:用户: /etc/sysctl.conf kernel.msgmnb =4203520kernel.msgmnb =3520kernel.msgmni = 2878保存后需要执行 sysctl -p ,然后重建所有消息队列ipcs -q : 显示所有的消息队列ipcs -qt : 显示消息队列的创建时间,发送和接收最后一条消息的时间mas172.16.9.38:/mas$ 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: 显示往消息队列中放消息和从消息队列中取消息的进程IDmas172.16.9.38:/mas$ ipcs -qp- Message Queues PIDs -msqid owner lspid lrpid 65536 mas 0 098305 mas 21941 21941ipcs -q -i msgid: 显示该消息队列结构体中的消息信息:mas172.16.9.38:/mas$ ipcs -q -i 98305Message Queue msqid=98305uid=512 gid=500 cuid=512 cgid=500 mode=0600cbytes=0 qbytes=4203520 qnum=0 lspid=21941 lrpid=21941send_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 2008ipcs -ql : 显示消息队列的限制信息:mas172.16.9.38:/mas$ ipcs -ql- Messages: Limits -max queues system wide = 2878 /最大进程数max size of message (bytes) = 8192 /队列中最大消息长度default max size of queue (bytes) = 4203520(2)ipcs指令的man手册中文翻译ipcs 命令用途报告进程间通信设施状态。语法ipcs -m -q -s -S -P -l -a | -b -c -o -p -t -T -C CoreFile -N Kernel 描述ipcs 命令往标准输出写入一些关于活动进程间通信设施的信息。如果没有指定任何标志,ipcs 命令用简短格式写入一些关于当前活动消息队列、共享内存段、信号量、远程队列和本地队列标题。列标题和在 ipcs 命令中的列的含义列在下面。圆括号内的字母表示导致对应的报头出现的标志。all 设计符表示始终显示报头。这些标志仅仅确定提供给每个设备何种信息。但它们并不确定将列出哪些设备。T (all)设施的类型。共有三种设施类型: q 消息队列 m 共享内存段 s 信号量 ID (all)设施项的标识。 KEY (all)用作 msgget 子例程、semget 子例程或者 shmget 子例程的参数的键构成了设施项。 注: 当除去内存段时,共享内存段的密钥改变为 IPC_PRIVATE,直到所有附加在段上的进程和它拆离。 MODE (all)设施访问方式和标志。这种方式由 11 个字符组成,解释如下: 前两个字符如下所示:R 如果进程在等待 msgrcv 系统调用。 S 如果进程在等待 msgsnd 系统调用。 D 如果有关的共享内存段被除去。当附加在段上的最后一个进程拆离后它就会消失。 C 当第一个附加进程运行时,如果有关的共享内存段被清空。 - 如果没有设置相应的特定标志。 接下来的九个字符作为每三个一组解释。第一组是指拥有者有许可权;第二组是指在设施项的用户组中其他用户的许可权;最后一组指所有的用户。在每组中,第一个字符表示允许读,第二个字符表示可以写或者修改设施项,最后一个字符当前没有用过。权限如下所示:r 如果授予了读许可权。 w 如果授予了写许可权。 a 如果授予了修改许可权。 - 如果没有授予指定的许可权。 OWNER (all)设施项所有者的登录名。 GROUP (all)拥有设施项的组名。 CREATOR (a、c)设施项创建者的登录名。 CGROUP (a、c)设施项创建者的组名。 注: 对于 OWNER、GROUP、CREATOR 和 CGROUP,显示用户和组的标识而不显示登录名。 CBYTES (a、o)当前停留在相关消息队列中的消息的字节数。 QNUM (a、o)当前停留在相关消息队列中的消息的字节数。 QBYTES (a、b)停留在相关消息队列中消息允许的最大字节数。 LSPID (a、p)发送消息到相关队列的最后进程的标识。如果发送的最后一条消息是来自节点上的进程而不是保留该节点的队列,LSPID 是真正把消息放进队列的内核进程的 PID,而不是发送进程的 PID。 LRPID (a、p)接收来自相关队列的消息的进程标识。如果接收的最后一条消息来自一个节点上的进程而不是保留该队列的节点,LRPID 是真正接收队列上消息的内核进程的 PID ,而不是接收进程的 PID。 STIME (a、t)最后一条消息发送到相关队列的时间。对于远程队列,这是服务器时间。没有做任何措施来补偿本地时钟和服务器时钟之间的时区差异。 RTIME (a、t)接受最后一条来自相关队列的消息的时间。对于远程队列来说,这是服务器时间。没有做任何措施来补偿本地时钟和服务器始终之间的时区差异。 CTIME (a、t)创建和改变相关项的时间。对于远程队列,这是服务器时间。没有做任何措施来本地时钟和服务器时钟之间的任何时区差异。 NATTCH (a、o)连接在关联的共享内存段的进程数。 SEGSZ (a、b)关联的共享内存段的大小。 CPID (a、p)共享内存项的创建程序的进程标识。 LPID (a、p)连接或者拆离共享内存段的最后一个进程的标识。 ATIME (a、t)最后一次与关联的共享内存段完成连接的时间。 DTIME (a、t)最后一次与关联的共享内存段完成拆离的时间。 NSEMS (a、b)在与信号项相关联的信号集中的信号量数量。 OTIME (a、t)在关联的信号量中完成信号量操作的时间。 SID (S)共享内存段的标识。SID 可以用作 svmon -S 命令的输入。 该命令支持多字节字符集。标志-a 使用 -b、-c、-o、-p 和 -t 标志。 -b 写入消息队列的队列上消息的最大字节数、共享内存段的大小、每个信号量集中信号量的数量。 -c 写入构建该设施的用户的登录名和组名称。 -CCoreFile 用由 CoreFile 参数指定的文件来代替 /dev/mem 文件。CoreFile 参数是由 Ctrl-(left)Alt-Pad1 按键顺序创建的内存映象文件。 -l 当和 -S 标志一起使用时,该标志写入未展开的 SID 列表。 -m 写入一些关于活动共享内存段的信息。 -NKernel 用指定的 Kernel( /usr/lib/boot/unix 文件是缺省的)。 -o 写以下的使用信息: 队列上的消息数 消息队列上消息的总字节数 连接在共享内存段上的进程数 -p 写进程编号的信息: 最后接收消息队列上消息的进程号 最后在消息队列上发送消息的进程号 创建进程的进程号 最后一个连接或拆离共享内存段的进程编号 -P 写入与共享内存标识有关的 SID(段标识)列表,以及保留在那个段中的字节数,和段是否已启用大页的标志符。如果段支持大页面,就显示一个 Y,否则显示一个 -。 -q 写入一些关于活动消息队列的信息。 -s 写入一些关于活动信号量集的信息。 -S 写入连接在共享内存标识上的 SID 列表。 -t 写入时间信息: 最后一次更改所有设备访问许可权的控制操作的时间。 消息队列上最后一次执行 msgsnd 和 msgrcv 的时间。 共享内存上最后一次执行 shmat 和 shmdt 的时间。 在信号量集上最后一次执行 semop 的时间。 -T 写入带有日期的 -t 标记的输出。 注:如果用户指定 -C 或者 -N 标记,实型和有效的 UIDGID 设置为调用 ipcs 的用户的实型 UIDGID。 当运行 ipcs 时可以更改值;仅当检索它时它给出的信息才保证是正确的。# ipcs -u - Shared Memory Status - segments allocated 32 pages allocated 2361 pages resident 253 pages swapped 982 Swap performance: 0 attempts 0 successes - Semaphore Status - used arrays = 128 allocated semaphores = 256 - Messages: Status -allocated queues = 0 used headers = 0 used space = 0 bytes 对于“ipcs -u”命令所显示的IPC资源,如果要确定其限制,可以使用“ipcs -l”命令: # 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 上述输出表明,该系统已经到达信号量数组(或信号量集合)的数目上限。这个限制可以通过增加内核参数 semmni 的取值来解决,该参数定义了系统能够拥有的信号量集合的总数。Linux 可以动态调整大多数内核IPC 参数值的大小,也可以静态地修改消息队列为进程提供了一种异步传递消息的方法。在使用 msgget()建立了一条消息队列之后,发送进程和接收进程就可以通过这条消息队列交换消息。发送进程将消息发送到指定的消息队列,而接收者试图从指定的消息队列中获取消息。如果该队列中没有消息的话,则接收者根据自己是否要等待的意愿而阻塞或返回某个标志。 表 13-2 简要描述了在当前Linux 2.4/2.6 内核实现中提供的3 个消息队列参数。 表 13-2 与消息队列相关的内核参数 名 称 描 述 默 认 值 最 大 值 msgmni 最大消息队列数 16 2GB msgmax 最大消息长度(字节数) 8192 2GB msgmnb 消息队列中的最大字节数 16384 2GB 注意,第 4 列中给出的最大值取决于数据类型。上述 3 个内核参数都是 int 类型,因此在32 位Intel 机器上,硬性上限是2GB。 Linux 还定义了其他当前未用的消息队列相关参数。 以下各节具体分析与消息队列相关的参数13.5.1 msgmni msgmni 定义了系统范围内的消息队列上限。与信号量一样,消息队列也拥有一个相关的标识符。在系统初始化阶段里,内核创建一个指向消息队列标识符结构的指针数组。该数组的项数由 msgmni确定。对于每个消息队列,Linux 内核为标识符分配44B,为消息队列数据结构分配 96B。为了获得更多的消息队列资源,可以动态增加 msgmni 取值。和信号量一样,消息队列标识符的最大数目也受限于IPCMNI。msgmni的默认上限为 16B,这可能不足以保证一些大型数据库应用平滑地运行。如果在系统上要运行数据库应用的话,推荐默认上限值是 128B。 13.5.2 msgmax msgmax 限制进程可以发送的消息长度。该参数由 Msgsnd(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专业品牌策划与推广服务协议
- 特色农产品养殖与收购协议书
- 高一(上)化学阶段检测卷
- 《中世纪的欧洲经济与文化发展高中历史教案》
- 八步区总工会活动方案
- 公交公司元旦活动方案
- 公交广告活动方案
- 毕业那一天初三作文800字10篇范文
- 公众号视频活动方案
- 抒发假期情绪的作文15篇
- 朗文4B 复习提要及朗文4B单词及句子
- TSGD0012023年压力管道安全技术监察规程-工业管道(高清晰版)
- 运动控制系统阮毅陈维钧课后答案清华大学出版社
- T-HIS 005-2021 基于窄带物联网(NB-IoT)技术的水表抄表系统
- YC/T 207-2014烟用纸张中溶剂残留的测定顶空-气相色谱/质谱联用法
- SB/T 10977-2013仓储作业规范
- GB/T 18109-2011冻鱼
- 逻辑学概论作业含答案
- 防治水培训课件
- 光谱CT临床应用
- 山东省水利水电工程施工企业安全生产管理三类人员考试题库-上(单选、多选题)
评论
0/150
提交评论