Linux下服务器负载高排查

使用ps -aux相关进行进程查询

#查看内存占用最高的20个进程
ps aux --sort=-%mem | head -n 20  

#查看cpu占用最高的20个进程
ps aux --sort=-%cpu | head -n 20  

找到占用资源比较高的进程,使用 strace 进行PID跟踪

strace -p 进程ID
#或者 输出到文件(跟踪后输出会很多)
strace -p 进程ID > output.txt

strace 常用参数

-e expr:指定一个表达式来过滤要跟踪的系统调用。例如,-e trace=file 只跟踪文件相关的系统调用。
-f:跟踪由被跟踪进程启动的子进程的系统调用。
-o 文件:将输出重定向到指定的文件中,而不是标准输出。
-p 进程ID:附加到正在运行的进程上。
-t:在输出中显示时间戳。
-tt:显示更详细的时间戳,包括微秒。
-c:统计每个系统调用的耗时和调用次数,并在程序退出时打印汇总信息。注意,这个选项通常用于启动新进程,而不是附加到现有进程。


Linux下服务器负载高排查
https://lysowc.cn/archives/1726742030148
作者
sora
发布于
2024年09月19日
许可协议