情况描述:
使用命令
[root@iZ23hh6yk41Z ~]#for i in $(ls /proc | grep "^[0-9]" | awk '$0>100'); do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps;done| sort -k2nr | head

或使用脚本
vi swap.sh
#粘贴以下配置内容
#!/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"
################
chmod +x swap.sh

本文提供两种实用方法,用于监测Linux系统中所有运行进程的交换内存使用情况。通过shell命令与自定义脚本,详细展示如何获取和排序各进程的交换内存占用,帮助系统管理员有效监控和管理服务器资源。
的占用情况&spm=1001.2101.3001.5002&articleId=91368107&d=1&t=3&u=28d9cc5a6a884457865ac6eb70b5ce00)
785

被折叠的 条评论
为什么被折叠?



