使用ipcs命令,不加如何参数时,会把共享内存、信号量、消息队列的信息都打印出来,如果只想显示共享内存信息,使用如下命令:
[root@localhost ~]# ipcs -m
------ Shared Memory Segments --------
keyshmid owner perms bytes nattch status
0x00000000 1867776root 600393216 2 dest
0x00000000 1900545root 600393216 2 dest
0x00030021 1703938zc666131104 1
0x0003802e 1736707zc666131104 1
0x00030004 1769476zc666131104 1
0x00038002 1802245zc666131104 1
0x00000000 1933318root 600393216 2 dest
0x00000000 1966087root 600393216 2 dest
0x00000000 1998856root 600393216 2 dest
0x00000000 2031625root 600393216 2 dest
0x00000000 2064394root 600393216 2 dest
0x0014350c 2261003cs66633554432 2
0x00000000 2129932root 600393216 2 dest
0x00000000 2162701root 600393216 2 dest
0x00143511 395837454 root 66610485761
其中:
第一列就是共享内存的key;
第二列是共享内存的编号shmid;
第三列就是创建的用户owner;
第四列就是权限perms;
第五列为创建的大小bytes;
第六列为连接到共享内存的进程数nattach;
第七列是共享内存的状态status。其中显示“dest”表示共享内存段已经被删除,但是还有用户在使用它,当该段内存的mode字段设置为SHM_DEST时就会显示“dest”。当用户调用shmctl的IPC_RMID时,内存先查看多少个进程与这个内存关联着,如果关联数为0,就会销毁这段共享内存,否者设置这段内存的mod的mode位为SHM_DEST,如果所有进程都不用则删除这段共享内存。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)