1、现在是否是业务高峰期,会不会有并发人数太多,导致的?
netstat -ant | grep :80 | awk '{print $5}' | awk -F":" '{print $1}'| sort | uniq -c | sort -r -n | awk 'BEGIN{total=0}{total+=$1}END{print total}'
使用上述命令去查看当前的并发数量,结合平时的并发数量去分析
2、列出最占内存和cpu的10个进程,分析是否有恶意的***,或者被植入了挖矿***,导致内存和cpu的消耗
linux下获取占用CPU资源最多的10个进程 ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下获取占用内存资源最多的10个进程 ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
3、列出消耗资源最多的进程以后,需要多加思考,是否是恶意***伪装的自己的程序,多看下rm 等一系列的命令是否有被替换,最后crontab -e 检查一下计划任务有没有恶意添加东西,md5比对一下/etc/passwd ,检查一下是否有恶意更改。
4、如果上述两点都没有,就去结合业务场景去联系开发,看看是不是自己服务代码逻辑上的问题,导致的内存溢出等等