可执行状态的进程是指正在使用cpu和正在等待使用cpu的进程。(ps后看见的R[Runable/Running]状态的进程)
不可中断状态的进程是指处于内核态关键的流程中的进程。比如等待IO响应(ps 看见的D[Disk Sleep]状态的进程)
可以理解不可中断状态是对进程和设备的保护机制
平均负载最理想的是等于cpu个数
grep ‘processor‘ /proc/cpuinfo |wc -l
如果平均负载大于cpu的数目的时候是过载,一般说法是高于cpu个数的70%就要排查原因。
看负载的时候需要结合三个数字看,看目前的趋势是在降低还是持续升高。
我归结成主要是三类原因:CPU密集型进程、IO密集型进程、进程数过多导致的。
mpstat查看cpu使用率,如果是这样的情况,显示使用率满,可以确定是cpu密集型的进程
用pidstat 来查看究竟是哪个进程导致的
如果需要找到他文件打开文件,可以用lsof -p 2840或者 用-c stress 看进程的文件使用情况
2、如果不是的话,还是用mpstat看iowait那一列是不是比较高然后导致cpu使用率提高了,如果是的话,同样用pidstat看是哪个程序导致的。(方法是差不多的)
3、进程过多的情况,可以直接使用pidstat看进程情况
像这样,好几个进程在抢cpu,导致负载过高。
平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数, 也就是平均活跃进程数,它和 CPU 使用率并没有直接关系。
1、有可能是 CPU 密集型进程导致的;
2、平均负载高并不代表 CPU 使用率高,还有可能是 I/O 繁忙了;
原文:https://www.cnblogs.com/ShareStack/p/11703089.html