shell分析swap分区被哪些程序占用(stress模拟环境)
1、查看版本
cat /etc/debian_version
7.8
2、看下内存(我这边是256MB内存 swap分了4G)
free -m
total used free shared buffers cached
Mem: 231 124 106 0 8 79
-/+ buffers/cache: 36 194
Swap: 3814 0 3814
3、使用stress模拟占用swap分区环境
stress --cpu 1 --io 1 --vm 2 --vm-bytes 15000000 --vm-keep --verbose
4、查看到swap分区不断在使用
5、使用脚本分析下
#!/bin/bash
#--------------------------------------------------
#Created:2015-05-20
#Author:jimmygong
#Mail:[email protected]
#Function:
#Version:1.0
#--------------------------------------------------
function swapoccupancy ()
{
echo -e "Pid\tSwap\tProgame"
num=0
for pid in `ls -1 /proc|egrep "^[0-9]"`
do
if [[ $pid -lt 20 ]]
then
continue
fi
program=`ps -eo pid,command|grep -w $pid|grep -v grep|awk ‘{print $2}‘`
for swap in `grep Swap /proc/$pid/smaps 2>/dev/null|awk ‘{print $2}‘`
do
let num=$num+$swap
done
echo -e "${pid}\t${num}\t${program}"
num=0
done|sort -nrk2|head
}
swapoccupancy
exit 0
6、我这边脚本写的是取占用前10的
本文出自 “7928217” 博客,请务必保留此出处http://7938217.blog.51cto.com/7928217/1653649
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。