https://blog.longwin.com.tw/2017/02/linux-find-use-swap-process-2017/
單純使用到 swap 的 PID 列表可查 /proc/*/status 的 VmSwap 值
$ grep VmSwap /proc/*/status
查看那些进程使用了swap:
$ for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less
https://stackoverflow.com/questions/30481314/how-can-i-know-which-process-is-using-swap
https://stackoverflow.com/questions/479953/how-to-find-out-which-processes-are-using-swap-space-in-linux
查看那些进程使用了swap:(改进版)
$ (echo "COMM PID SWAP"; for file in /proc/*/status ; do awk '/^Pid|VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | grep kB | grep -wv "0 kB" | sort -k 3 -n -r) | column -t
要查看面向用户的视图,请输入:
$ sudo smem -u
[sudo] password for toma:
User Count Swap USS PSS RSS
rtkit 1 236 68 85 1356
dbus 1 296 804 878 2388
polkitd 1 4860 1956 1995 4400
root 14 26064 106560 127519 173776
toma 89 87412 3092876 3294633 7503088
$
要查看系统范围的内存使用情况摘要,请传递-w选项:
$ sudo smem -w
Area Used Cache Noncache
firmware/hardware 0 0 0
kernel image 0 0 0
kernel dynamic memory 4509624 4305388 204236
userspace memory 3424012 422456 3001556
free memory 225776 225776 0
$
查看系统视图
$ sudo smem -R 8G -K /path/to/vmlinux/on/disk -w
size: '/path/to/vmlinux/on/disk': No such file
Parameter '/path/to/vmlinux/on/disk' should be an original uncompressed compiled kernel file.
Area Used Cache Noncache
firmware/hardware 229196.0 0 229196.0
kernel image 0 0 0
kernel dynamic memory 4521572 4314964 206608
userspace memory 3448996 422668 3026328
free memory 188844 188844 0
$
要查看总计和百分比,请输入:
$ sudo smem -t -p
PID User Command Swap USS PSS RSS
518 toma /bin/sh /etc/xdg/xfce4/xini 0.01% 0.00% 0.00% 0.01%
753 toma /usr/lib/ibus/ibus-engine-s 0.01% 0.00% 0.00% 0.02%
......
106 5 1.42% 39.57% 42.28% 94.51%
# smem --help
-h,--helpshow this help message and exit
-H,--no-headerdisable header line禁用标题行
-c COLUMNS, --columns=COLUMNScolumns to show要显示的列
-t,--totalsshow totals显示总数
-a,--autosizesize columns to fit terminal size
-R REALMEM, --realmem=REALMEMamount of physical RAM物理RAM的数量
-K KERNEL, --kernel=KERNELpath to kernel image内核映像的路径
-m,--mappingsshow mappings显示映射
-u,--usersshow users显示用户
-w,--systemshow whole system显示整个系统
-P PROCESSFILTER, --processfilter=PROCESSFILTERprocess filter regex进程过滤器正则表达式
-M MAPFILTER, --mapfilter=MAPFILTERmap filter regex地图过滤器正则表达式
-U USERFILTER, --userfilter=USERFILTERuser filter regex用户过滤器正则表达式
-n,--numericnumeric output数字输出
-s SORT, --sort=SORTfield to sort on要排序的SORT字段
-r,--reversereverse sort反向排序
-p,--percentshow percentage显示百分比
-k,--abbreviateshow unit suffixes显示单位后缀k
--pie=PIEshow pie graph显示饼图
--bar=BARshow bar graph显示条形图
-S SOURCE, --source=SOURCE/proc data source/proc数据源
标签:kernel,smem,查看,show,sudo,swap,进程,proc
来源: https://www.cnblogs.com/sztom/p/10662353.html