linux – 我怎么知道哪个进程使用swap?

有很多可用的内存(大约4G)但在我的软呢帽中使用了交换(200 M).

我想知道哪个进程使用swap.我怎么知道呢.

ps和top仅显示内存使用情况.

提前致谢.

解决方法

here开始:

[a] /proc/meminfo – This file reports statistics about memory usage on
the system. It is used by free to report the amount of free and used
memory (both physical and swap) on the system as well as the shared
memory and buffers used by the kernel. You can also use free,vmstat
and other tools to find out the same @R_309_4045@ion.

[b]
/proc/${PID}/smaps,/proc/${PID}/status,and /proc/${PID}/stat : Use
these files to find @R_309_4045@ion about memory,pages and swap used by
each process using its PID.

[c] smem – This command (python script) reports memory usage with
shared memory divided proportionally.

你也可以参考Find out what is using your swap

#!/bin/bash
# Get current swap usage for all running processes
# Erik Ljungstrom 27/05/2011
SUM=0
OVERALL=0
for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"` ; do
PID=`echo $DIR | cut -d / -f 3`
PROGNAME=`ps -p $PID -o comm --no-headers`
for SWAP in `grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'`
do
let SUM=$SUM+$SWAP
done
echo "PID=$PID - Swap used: $SUM - ($PROGNAME )"
let OVERALL=$OVERALL+$SUM
SUM=0

done
echo "Overall swap used: $OVERALL"

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...