服务器常用的异常及性能排查
使用 top 命令查看性能指标
top 命令使用详细介绍:传送门
查看Tasks total 进程数
正常我们在使用过程中对每天的一个进程数大概是有一个谱的,比如正常就是1百多个,突然暴增几百,那就很明显这里有问题。
使用 free命令
查看内存使用情况
free -m
查看占用内存最高和占用 CPU 最高的命令
查看占用内存最高的5个进程
ps aux | sort -k4nr | head -n 5
查看占用cpu最高的5个进程
ps aux | sort -k3nr | head -n 5
查看 php-fpm
// 查看 php-fpm 进程数
ps -ef | grep 'php-fpm' | grep 'pool' | wc -l
// 查看有多少个 php-fpm 进程用来处理 Tcp请求
netstat -anp | grep 'php-fpm' | grep 'tcp' | grep 'pool' | wc -l
php-fpm 进程占用CPU 过高定位
1、使用 top 命令,查找占用 cpu 高的进程 pid
2、通过 pid 找到是哪个文件操作的进程,这里就能定位到问题所在了
ll /proc/PID/fd
3、strace -p PID 跟踪进程
strace -p PID
这里已经能定位到原因了,根据实际情况进行处理即可。
附上一个批量杀进程的命令,你肯定用的上。
// 批量杀进程:
ps -ef | grep 进程名称 | grep -v grep | awk '{print $2}' | xargs kill -9