代码改变世界

服务器负载过高,超过2000排查 (原因cpu?内存?io? 都不是)

2024-12-27 11:01  luoguoling  阅读(255)  评论(0)    收藏  举报

故障现象

服务器负载超过2000

故障排查

1.查看cpu,内存是否正常
cpu,内存均正常

2.查看磁盘io是否有问题
磁盘io也正常

.其他原因? 继续排查

进程和线程是否正常?

ps -eL -o lwp,pid,ppid,state,comm | grep -E " R | D "|nl
查询到R和D状态进程超过2800个?

错误日志?


使用df -h命令卡住,怀疑和存储有关系
杀掉相关出现pvc的进程,观察服务是否降低? 并未降低
采取下面的措施,杀死D状态的父进程!
kill 16186
负载逐渐降低


csi-tencentcloud-cfs进程仍然存在
/csi-tencentcloud-cfs --nodeID=xxxx --endpoint=unix://plugin/csi.sock

原因总结

由于openldap服务无法写入pvc,导致一致hang住,产生了很多D线程。最终由于线程挂着的状态过多,将服务器负载增高了特别多。所以服务器负载高除了cpu,内存,io等原因,还需要考虑线程!