设为首页 收藏本站
查看: 681|回复: 0

[经验分享] ipcs命令以及oracle内存段

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-1-9 09:13:10 | 显示全部楼层 |阅读模式
今天是2014-01-06,在没过春节之前重新复习一下2013年学习的内容,关于oracle内存段在我之前写的blog中有详细操作。在此记录一下ipcs命令的用法。

http://blog.iyunv.com/xiaohai20102010/article/details/9634099

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 标记,实型和有效的 UID/GID 设置为调用 ipcs 的用户的实型 UID/GID。
  • 当运行 ipcs 时可以更改值;仅当检索它时它给出的信息才保证是正确的。
示例

示例显示输入不带标志的 ipcs:的输出


IPC status from /dev/mem as of Mon Aug 14 15:03:46 1989T    ID         KEY        MODE       OWNER     GROUPMessage Queues:q       0    0x00010381 -Rrw-rw-rw-   root      systemq   65537    0x00010307 -Rrw-rw-rw-   root      systemq   65538    0x00010311 -Rrw-rw-rw-   root      systemq   65539    0x0001032f -Rrw-rw-rw-   root      systemq   65540    0x0001031b -Rrw-rw-rw-   root      systemq   65541    0x00010339--rw-rw-rw-    root      systemq       6    0x0002fe03 -Rrw-rw-rw-   root      systemShared Memory:m   65537    0x00000000 DCrw-------   root      systemm  720898    0x00010300 -Crw-rw-rw-   root      systemm   65539    0x00000000 DCrw-------   root      systemSemaphores:s  131072    0x4d02086a --ra-ra----   root      systems   65537    0x00000000 --ra-------   root      systems 1310722    0x000133d0 --ra-------   7003      30720文件
/usr/lib/boot/unix指定系统内核映像。
/dev/mem指定内存。
/etc/passwd指定用户名。
/etc/group指定组名。
/usr/include/sys/ipc.h包含头文件。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-13688-1-1.html 上篇帖子: 修改有数据oracle字段类型 从number转为varchar 下篇帖子: WARNING:Could not increase the asynch I/O limit to 64 for SQL direct I/O. It ... oracle
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表