1、容器云计算节点负载值高,通过top可以看到Load Average:70.1 71.3 70.8,虚拟机有8个cpu:
cpu使用率高导致?
同时在top中观察一段时间,消耗cpu最高的为docker进程,峰值为125%左右,应该也不算高。top的cpu的统计数据中us、sy、wa都不高,id值为95,说明负载高的原因并不是cpu使用率高导致的。
不可中断状态的进程数过多导致的?
通过 ps aux | awk ‘{if($8 ~ /D/) print $0}‘ 可以找出状态为D(Disk Sleep),即不可中断状态的进程,发现存在10几个nmon进程,确认这些进程是监控进程后,通过 ps aux | awk ‘{if($8 ~ /D/) print $2}‘ | xargs强制杀掉这些进程,负载逐渐下降至2左右。
2、虚拟机执行 df -h无响应,通过strace df,发现卡在一个nfs的挂载点上面,这个是临时挂载的,umount问题解决。
处于D(uninterruptiblesleep)状态的进程通常是在等待IO,比如磁盘IO,网络IO,其他外设IO,如果进程正在等待的IO在较长的时间内都没有响应,那么就很会不幸地被ps看到了,同时也就意味着很有可能有IO出了问题,可能是外设本身出了故障,也可能是比如挂载的远程文件系统已经不可访问了(由down掉的NFS服务器引起的D状态),上述问题正是由这个远程NFS服务器不可用导致的。
原文:https://www.cnblogs.com/orchidzjl/p/11912223.html