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);~ 是因为某些命令过长需要进行限制,如 pycharmdistrobox 等。

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

如果需要用大交换文件替换小交换文件,建议先开后关。

Avatar

Serene Feather Pavilion

瞽者无以与乎文章之观,聋者无以与乎钟鼓之声。岂唯形骸有聋盲哉?