3

我在嵌入式设备上遇到了一些性能问题:

# uptime 
 14:59:39 up  5:37, load average: 1.60, 1.50, 1.53

对于单核系统来说非常糟糕...... :-p!但是,如果我查看 top 实用程序,我总是有大约 80% 的空闲时间!

Mem: 49020K used, 75960K free, 0K shrd, 0K buff, 21476K cached
CPU: 12.5% usr  4.8% sys  0.0% nic 81.7% idle  0.0% io  0.9% irq  0.0% sirq
Load average: 1.30 1.42 1.51 1/80 18696

看了一些文章后,我最好相信 uptime 命令。但为什么会有这种差异?我的CPU真的空闲吗??!

4

3 回答 3

6

负载不仅仅是衡量有多少进程处于 R 状态(可运行,可以使用 CPU 时间),还衡量处于 D 状态(不可中断睡眠,通常等待 IO)的进程。您可能有一个处于 D 状态的进程,它有助于负载,但不使用 cpu。此命令将向您显示所有导致负载的当前进程:

ps aux | awk '$8~/[RD]/'

查看该输出并查看您是否有处于 D 状态的命令(在第 8 列中)

于 2011-12-13T15:19:17.697 回答
0

您最好了解“平均负载”的含义。

简而言之,就是多个进程,在等待某个资源,而资源可能是CPU、HDD、串口……

于 2011-12-13T15:07:10.437 回答
0

平均负载似乎有点高,这可能意味着 CPU 正忙于 I/O(磁盘/网络)或线程管理(您可能有太多的运行)之类的事情。

于 2011-12-13T15:09:06.877 回答