进程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}


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}

猜你喜欢

转载自www.cnblogs.com/fieldtianye/p/11264870.html