本文主要是介绍linux ipcs字段含义 共享内存删除 ipcs dest状态,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//查看共享内存
[app_usr@js2test01 shell]$ ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x0122f9df 12419074 app_usr 666 70604918 0
0x0001b3ef 14450693 app_usr 666 70604278 0
0x0003d09a 14385158 app_usr 666 67732 1
//各字段含义:
第一列就是共享内存的key;
第二列是共享内存的编号shmid;
第三列就是创建的用户owner;
第四列就是权限perms;
第五列为创建的大小bytes;
第六列为连接到共享内存的进程数nattach;
第七列是共享内存的状态status。其中显示“dest”表示共享内存段已经被删除,但是还有用户在使用它,当该段内存的mode字段设置为SHM_DEST时就会显示“dest”。当用户调用shmctl的IPC_RMID时,内存先查看多少个进程与这个内存关联着,如果关联数为0,就会销毁这段共享内存,否者设置这段内存的mod的mode位为SHM_DEST,如果所有进程都不用则删除这段共享内存。
//删除共享内存
直接使用#ipcrm -m shmid可能不能直接删除掉还存在进程使用的共享内存。这时候可以用ps -ef对进程进行查看,kill掉多余的进程后,再使用ipcs查看。
这篇关于linux ipcs字段含义 共享内存删除 ipcs dest状态的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!