博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle 共享内存查看 ipcs命令详解
阅读量:5989 次
发布时间:2019-06-20

本文共 1129 字,大约阅读时间需要 3 分钟。

ipcs - provide information on ipc facilities

DESCRIPTION

       ipcs provides information on the ipc facilities for which the calling process has read access.

       The -i option allows a specific resource id to be specified.  Only information on this id will be printed.

       Resources may be specified as follows:

       -m     shared memory segments

       -q     message queues

       -s     semaphore arrays

       -a     all (this is the default)

       The output format may be specified as follows:

       -t     time

       -p     pid

图片 
 注:

key栏中列出的信息是应用程序定义的键值,如果是私有对象的键值则为0,在这里我们定义键值为12345678,也就是输出的0x00bc614e(十六进制)

shmid栏中列出共享内存的ID,这个值是唯一的.
owner栏中列出创建共享内存的用户是root.
perms栏中列出共享内存的权限.
bytes栏中列出这块共享内存的大小,我们通过调用sysconf(_SC_PAGE_SIZE)得到要创建的共享内存大小为4096个字节.
nattch栏中列出连接在关联的共享内存段的进程数.
status栏中列出当前共享内存的状态,当该段内存的mode字段设置了SHM_DEST位时就会显示"dest"字样,
当用户调用shmctl的IPC_RMID时,内核首先看有多少个进程还和这段内存关联着,如果关联数为0,就会销毁(释放)这段内存,否则就设置这段内存的mode位SHM_DEST,
并设置它的key为IPC_PRIVATE,这意味着关联着的进程仍可合法存取这端内存,但是它不能再被新的进程关联了.

在上面的输出中,我们没有看到smem用到的共享内存有dest的状态,而此时我们用ipcrm -m 18874397手工删除该段共享内存时,

此时该段的共享内存键值将会是0x00000000(IPC_PRIVATE),而程序通过调用shmdt来释放该段共享内存时,这段共享内存才会真正的消失.

本文转自 wangergui 51CTO博客,原文链接:http://blog.51cto.com/wangergui/1881783,如需转载请自行联系原作者

你可能感兴趣的文章
网址收藏
查看>>
linux的tar命令详情;linux多个文件压缩打包到一个压缩文件
查看>>
【Python】内置函数 enumerate
查看>>
关于SourceForge不能使用的问题
查看>>
Java魔法堂:打包知识点之META-INF/MAINFEST.MF
查看>>
Objective—C语言的新魅力——Nullability、泛型集合与类型延拓
查看>>
iOS开发之网络编程--获取文件的MIMEType
查看>>
AMD加载器实现笔记(二)
查看>>
五大常用算法之二:动态规划算法(DP)
查看>>
android 自定义ViewGroup实现仿淘宝的商品详情页
查看>>
Hibernate框架学习之一:Hello World程序
查看>>
chown命令
查看>>
RAC环境listener.ora和tnsnames.ora配置总结
查看>>
二分图最大匹配值的模板
查看>>
Codeforces 342 A. Xenia and Divisors
查看>>
JavaScript DOM元素尺寸和位置
查看>>
【万里征程——Windows App开发】在应用中集成搜索
查看>>
【SICP练习】4 练习1.8
查看>>
RxSwift Queue 队列的实现
查看>>
Android productFlavors 占位符 ${XXX}引发的问题
查看>>