linux系统load average表示什么
把load average理解为CPU核心数是错误的,网上以讹传讹.
man uptime可见:
load average指的是处于task_running或task_uninterruptible状态的进程(或线程)数的平均值.
处于task_running状态的进程(或线程),可能正在使用CPU或排队等待使用CPU.
处于task_uninterruptible状态的进程(或线程),可能正在等待I/O,比如等待磁盘I/O.
183 116 82 这三个值分别指的是在过去1分钟,5分钟,15分钟的load average.
拿183来说,就是在过去1分钟,平均有183个任务(进程或线程)处于running或uninterruptible状态.
我的Xubuntu14.04桌面,总共的任务数(进程或线程)才189个,而你的服务器居然有4355个.而且在过去1分钟平均有183个处于运行或不可中断状态,而我的电脑这个平均值小于1.
另外你的13.6 wa这个值也比较高,这个值的含义是I/O等待占用的CPU时间百分比,也就是I/O等待占用了13.6%的CPU资源.
32.5 sy为内核空间占用CPU时间百分比为32.5%,而4.8 us用户空间程序占用CPU时间百分比却只有4.8%,这点也不正常.
建议用atop -d(按t刷新)或iotop找出哪些进程正在读写磁盘,如果是PHP,那就把PHP的进程数调低,可以尝试调为2倍CPU核心数(nproc).因为当CPU和磁盘都忙不过来的时候,开再多的进程也没有任何意义,只会徒增CPU上下文切换和磁盘I/O等待,得不偿失.
iotop使用:
默认情况下,iotop 会显示所有进程的 I/O 使用情况。你可以按 P 键来按 I/O 使用率排序,按 O 键来切换磁盘 I/O 和网络 I/O 的显示,按 T 键来按进程的 CPU 使用率排序。
如果你想查看特定进程的 I/O 使用情况,可以使用 -p 选项:
iotop -p pid
还可以使用 -b 选项以批处理模式运行 iotop,这对于自动化脚本非常有用:
iotop -b -n 10
这将显示 10 次迭代的数据,然后退出。

浙公网安备 33010602011771号