ipcs / ipcrm 的用法

       今天突然收到某到机器的swap为0 的告警, 登录服务器后发现, 这个服务器上并没有服务对外提供,使用free -m发现剩余的swap的确为0, 这会是什么原因呢?
使用top , 发现正在运行的进程的内存占用情况都很低, 继续困惑。 突然想起之前的几例swap用光的案例, 好像都是因为共享内存开的太大且没有使用造成的,
故ipcs一看, 我的亲, 发现共享内存开的多而大, 且nattach的数目都为0, ipcs -mp , ps -ewwf | grep $cpid 发现进程也都不存在。 
估计是使用共享内存的进程已经退出, 但是这些共享内存又没有清除, 所以这些共享内存占用的内存页面长时间没有处于活动状态, 所以都交换到swap分区里去了
然后造成swap分区用光。

ipcs 打印出目前正在使用的共享内存, 消息队列,还有 Semaphore Arrays 的信息
ipcs -mt 查看共享内存的时间  
ipcs -mp 查看使用过共享内存的pid
ipcs -m   nattach的意思是 now attach, 表示目前正在使用共享内存的进程数目
shmid   ipcrm -m $shmid
shmkey  ipcrm -M $shmkey
ipcs -m | grep $user | awk '$6>0{ print $2 }' | xargs -n 1 ipcrm -m

swap跟某个进程没有直接的关系
 

man shmctl  发现通过这个系统调用, 还可以知道这些共享内存有多少使用的物理内存, 有多少使用的swap
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值