https://blog.csdn.net/xiangliangyu/article/details/8213127
$ sudo pacman -S iotop
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://*.com/questions/30481314/how-can-i-know-which-process-is-using-swap
https://*.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
https://www.cyberciti.biz/faq/linux-which-process-is-using-swap/
$ sudo pacman -S smem
$ smem
要查看面向库的视图,请输入:
# smem -m
要查看面向用户的视图,请输入:
$ 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, --help show this help message and exit
-H, --no-header disable header line 禁用标题行
-c COLUMNS, --columns=COLUMNS columns to show 要显示的列
-t, --totals show totals 显示总数
-a, --autosize size columns to fit terminal size
-R REALMEM, --realmem=REALMEM amount of physical RAM 物理RAM的数量
-K KERNEL, --kernel=KERNEL path to kernel image 内核映像的路径
-m, --mappings show mappings 显示映射
-u, --users show users 显示用户
-w, --system show whole system 显示整个系统
-P PROCESSFILTER, --processfilter=PROCESSFILTER process filter regex 进程过滤器正则表达式
-M MAPFILTER, --mapfilter=MAPFILTER map filter regex 地图过滤器正则表达式
-U USERFILTER, --userfilter=USERFILTER user filter regex 用户过滤器正则表达式
-n, --numeric numeric output 数字输出
-s SORT, --sort=SORT field to sort on 要排序的SORT字段
-r, --reverse reverse sort 反向排序
-p, --percent show percentage 显示百分比
-k, --abbreviate show unit suffixes 显示单位后缀k
--pie=PIE show pie graph 显示饼图
--bar=BAR show bar graph 显示条形图
-S SOURCE, --source=SOURCE /proc data source /proc数据源