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