System Management
2024-06-09
1分钟阅读时长
Mem management
All Mem statistic
统计本机所有内存使用量。
free -h
Sort by all user
统计所有用户的内存使用量。
ps aux --sort=-%mem | head -n 10 | awk 'NR==1 {print $0; next} { $5=int($5/1024) "M"; $6=int($6/1024) "M"; $11=substr($11, 1, 100); print $0; }'
其中,~$11=substr($11, 1, 100);~ 是因为某些命令过长需要进行限制,如 pycharm
或 distrobox
等。
Sort by someone
统计指定用户的内存使用量。 方法一:首先提取表头,然后显示内容及排序。
ps aux --sort=-%mem | head -n 1 && ps aux --sort=-%mem | grep '^chan' | head -n 10 | awk '{ $5=int($5/1024) "M"; $6=int($6/1024) "M"; print $0; }'
方法二:手动输出表头,然后显示内容及排序。
echo "USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND"
ps aux --sort=-%mem | grep '^chan' | head -n 10 | awk '{ $5=int($5/1024) "M"; $6=int($6/1024) "M"; print $0; }'
Monitor
实时监控内存,可以将上述命令编为脚本,然后使用watch循环输出。
watch -n 1 ./top_10_mem.sh
Swapfile
内存不够时可以通过添加 swapfile
或者开启 swap partion
解决。
生成交换文件。
fallocate -l 32G /swapfile
dd if=/dev/zero of=/swapfile bs=1M count=32768
设置权限并格式化文件。
chmod 600 /swapfile
mkswap /swapfile
开启交换文件。
swapon /swapfile
swapon --show
关闭交换文件
swapoff /swapfile
如果需要用大交换文件替换小交换文件,建议先开后关。