linux load average - yaokun123/php-wiki GitHub Wiki

一、查看命令

1、top查看cpu和内存
2、iostat -d -x -m 1 10 查看磁盘IO情况
3、sar -n DEV 1 10查看网络IO情况
 - iftop可以查看系统的网络流量情况

二、CPU低、Load高情况分析

load average 是对 CPU 负载的评估,其值越高,说明其任务队列越长,处于等待执行的任务越多。出现此种情况时,可能是由于僵死进程导致的。可以通过指令ps -axjf查看是否存在 D 状态进程。

D 状态是指不可中断的睡眠状态。该状态的进程无法被 kill,也无法自行退出。只能通过恢复其依赖的资源或者重启系统来解决。

# 等待I/O的进程通过处于uninterruptible sleep或D状态;通过给出这些信息我们就可以简单的查找出处在wait状态的进程
ps -eo state,pid,cmd | grep "^D"; echo "----"

# 查找占用IO的程序
ps -e -L h o state,cmd  | awk '{if($1=="R"||$1=="D"){print $0}}' | sort | uniq -c | sort -k 1nr