今天是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. perl学习(二)正则表达式

    模式分组: /fred+/会匹配freddd这样的 /(fred)+/会匹配fredfredfred这样的 /(fred)*/则会匹配abcdef任意的 圆括号同时也使得重新使用某些字符串成为可能.反 ...

  2. C# EF Code First Migrations数据库迁移

    1.EF Code First创建数据库 新建控制台应用程序Portal,通过程序包管理器控制台添加EntityFramework. 在程序包管理器控制台中执行以下语句,安装EntityFramewo ...

  3. 了解ASP.NET Core 依赖注入,看这篇就够了 于2017年11月6日由jesseliu发布

    DI在.NET Core里面被提到了一个非常重要的位置, 这篇文章主要再给大家普及一下关于依赖注入的概念,身边有工作六七年的同事还个东西搞不清楚.另外再介绍一下.NET  Core的DI实现以及对实例 ...

  4. 学习TensorFlow的tf.concat使用

    https://www.tensorflow.org/api_docs/python/tf/concat

  5. u3d外部资源加载加密

    原文地址:http://www.cnblogs.com/88999660/archive/2013/04/10/3011912.html 首先要鄙视下unity3d的文档编写人员极度不负责任,到发帖为 ...

  6. iOS: Sorted Array with Compare

    Question(提问): What I want to do seems pretty simple, but I can't find any answers on the web. I have ...

  7. man 转 pdf _____ jpg 转 pdf

    man -t bash | ps2pdf - bash.pdf 将jpeg转成pdf convert *.jpeg images.pdf 将pdf转成jpeg gs -dBATCH -dNOPAUSE ...

  8. 1 go 开发环境搭建与简单代码实现

    什么是go语言 go是一门并发支持,垃圾回收的编译型 系统编程语言,旨在创造一门具有静态编译语言的高性能和动态语言的高效开发之间拥有一个良好平衡点 的一门编程语言. go有什么优点? 自动垃圾回收机制 ...

  9. Win7下telnet使用

    出于安全考虑,win7已经禁用了telnet这一功能, telnet是明文传输的,安全性很差. 知道了这一点就不奇怪为什么在win7下不能使用telnet了,下面就详细介绍下如何重新开启telnet服 ...

  10. MTK 系统禁止通知状态栏下拉

    之前看了网上很多修改,感觉太繁琐,修改代码太多,最后感觉还是自己找找,看能不能简单点 diff --git a/android/frameworks/base/packages/SystemUI/sr ...