进程CPU、内存过高、设置缓存
1、定位进程
找出占用CPU最高的10个进程
ps aux | sort -k3nr | head -n 10
查看占用内存最高的10个进程
ps aux | sort -k4nr | head -n 10
或者使用 top ,按 1 显示CPU列表,再按 shift+p 以CPU排序
2、进程跟踪分析
查看进程打开的文件
lsof -p PID
查看进程在处理的文件
ll /proc/PID/fd
查看进程的内存使用情况
pmap PID
通过strace来跟踪进程的系统调用
strace -p PID
当然我们也可以查看汇总的信息
strace -cp PID
如果我们想跟踪某进程所有的系统调用,并统计调用时间,并导出为文件,可用如下命令
strace -o {file_name} -T -tt -e trace=all -p {PID}
3、设置交换分区
ubuntu22 交换分区默认2G
查看当前内存使用 (h参数以可读方式)
free -mh
查看交换分区
sudo swapon --show
查看交换分区临时文件
ls -lh /swapfile
关闭交换分区
sudo swapoff -v /swapfile
删除交换分区临时文件
sudo rm /swapfile
检查一下还存在不
ls -lh /swapfile
重新生成交换分区文件
sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap -f /swapfile
命令执行