今天是2014-01-06,在没过春节之前重新复习一下2013年学习的内容,关于oracle内存段在我之前写的blog中有详细操作。在此记录一下ipcs命令的用法。

http://blog.csdn.net/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 标记的输出。
注:
  1. 如果用户指定 -C 或者 -N 标记,实型和有效的 UID/GID 设置为调用 ipcs 的用户的实型 UID/GID。
  2. 当运行 ipcs 时可以更改值;仅当检索它时它给出的信息才保证是正确的。

示例

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

IPC status from /dev/mem as of Mon Aug 14 15:03:46 1989
T ID KEY MODE OWNER GROUP
Message Queues:
q 0 0x00010381 -Rrw-rw-rw- root system
q 65537 0x00010307 -Rrw-rw-rw- root system
q 65538 0x00010311 -Rrw-rw-rw- root system
q 65539 0x0001032f -Rrw-rw-rw- root system
q 65540 0x0001031b -Rrw-rw-rw- root system
q 65541 0x00010339--rw-rw-rw- root system
q 6 0x0002fe03 -Rrw-rw-rw- root system
Shared Memory:
m 65537 0x00000000 DCrw------- root system
m 720898 0x00010300 -Crw-rw-rw- root system
m 65539 0x00000000 DCrw------- root system
Semaphores:
s 131072 0x4d02086a --ra-ra---- root system
s 65537 0x00000000 --ra------- root system
s 1310722 0x000133d0 --ra------- 7003 30720

文件

/usr/lib/boot/unix 指定系统内核映像。
/dev/mem 指定内存。
/etc/passwd 指定用户名。
/etc/group 指定组名。
/usr/include/sys/ipc.h 包含头文件。

ipcs命令以及oracle内存段的更多相关文章

  1. Oracle内存管理(五)

    [深度分析--eygle]学习笔记 1.4. 2其他内存组件 Large Pool-大池是SGA的一个可选组件,通经常使用于共享server模式(MTS). 并行计算或 RMAN的备份恢复等操作. J ...

  2. Oracle内存管理(之五)

    [深入解析--eygle]学习笔记 1.4. 2其它内存组件 Large Pool-大池是SGA的一个可选组件,通经常使用于共享server模式(MTS). 并行计算或 RMAN的备份恢复等操作. J ...

  3. ipcs命令

    unix/linux下的共享内存.信号量.队列信息管理 在unix/linux下,经常有因为共享内存.信号量,队列等共享信息没有干净地清楚而引起一些问题. 查看共享信息的内存的命令是ipcs [-m| ...

  4. 在Oracle 11g中用看Oracle的共享内存段---------IPCS

    很早之前,在一次讲课了,用了命令ipcs,发现oracle的共享内段好小,如下: oracle@mydb ~]$ ipcs -a ------ Shared Memory Segments ----- ...

  5. 【转载】ipcs与Linux共享内存

    一.共享内存相关知识 所谓共享内存,就是多个进程间共同地使用同一段物理内存空间,它是通过将同一段物理内存映射到不同进程的 虚拟空间来实现的.由于映射到不同进程的虚拟空间中,不同进程可以直接使用,不需要 ...

  6. Oracle内存全面分析

    Oracle内存全面分析 Oracle的内存配置与oracle性能息息相关.而且关于内存的错误(如4030.4031错误)都是十分令人头疼的问题.可以说,关于内存的配置,是最影响Oracle性能的配置 ...

  7. [20191119]探究ipcs命令输出2.txt

    [20191119]探究ipcs命令输出2.txt --//继续上午的测试:http://blog.itpub.net/267265/viewspace-2664758/=>[20191119] ...

  8. [20191119]探究ipcs命令输出.txt

    [20191119]探究ipcs命令输出.txt $ man ipcsIPCS(8)                    Linux Programmer's Manual              ...

  9. 【转】oracle内存分配和调优总结

    转自 http://blog.itpub.net/12272958/viewspace-696834/ 一直都想总结一下oracle内存调整方面的知识,最近正好优化一个数据库内存参数,查找一些资料并且 ...

随机推荐

  1. e587. Filling Basic Shapes

    There are two ways to fill basic shapes like lines and rectangles. The first is to use specific draw ...

  2. adv7180驱动

    http://download.csdn.net/download/u013308744/9945184 http://www.ebaina.com/bbs/thread-10121-1-1.html ...

  3. python3 post方式上传文件。

    借助第三方库:Requests 其官网地址:   http://python-requests.org       官网上写的安装方式:http://docs.python-requests.org/ ...

  4. 安卓开发笔记——打造万能适配器(Adapter)

    为什么要打造万能适配器? 在安卓开发中,用到ListView和GridView的地方实在是太多了,系统默认给我们提供的适配器(ArrayAdapter,SimpleAdapter)经常不能满足我们的需 ...

  5. Java Web入门必知

    Java Web应用的核心技术是Java Server Page和Servlet.此外,开发一个完整的Java Web应该涉及一下几种概念及技术. 1.Servlet组件           Serv ...

  6. windows下卸载oracle11g

    oracle11g卸载   oracle11g卸载 卸载oracle: 1.开始--控制面板--性能和维护--管理工具--服务    停止所有的oracle服务. 2.开始--程序--oracle-- ...

  7. 浅谈java中"&&"和"&"的区别

    “&&”和”&”都是java中的逻辑运算符,并且它们都表示“逻辑与”即“同真则真,有一假则假”,它们的区别在于”&&”具有短路功能,即如果左边是false,则右 ...

  8. Git使用教程,从入门到上瘾

    Git 是什么? Git 是一个分布式的代码管理容器,本地和远端都保有一份相同的代码. Git 仓库主要是由是三部分组成:本地代码,缓存区,提交历史,这几乎是所有操作的本质,但是为了文章更加简单易懂, ...

  9. 1 salt执行模块开发

    saltstack自带的模块已经很多了,但是有些时候我们需要自己开发出自己的模块来满足自己的需求,那就要自己开发了,下面请看例子 创建_modules目录在file_roots下面 我们需要在file ...

  10. 18 如何使用go来采集windows的基本硬件信息后发送到CMDB的服务器上

    preface 之前我使用python写了cmdb采集的脚本,打包成exe的二进制文件后放在windows上执行,也达到了预期的效果. 但是最近部门要上open-falcon监控体系,每个服务器都要安 ...