Chinaunix首页 | 论坛 | 博客
  • 博客访问: 63988
  • 博文数量: 14
  • 博客积分: 306
  • 博客等级: 二等列兵
  • 技术积分: 135
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-24 15:02
文章分类
文章存档

2012年(14)

我的朋友

分类:

2012-05-30 18:09:29

原文地址:ipcs / ipcrm的用法 作者:binary_XY.Z

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
阅读(1073) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:dstat linux 硬盘监控

给主人留下些什么吧!~~