Linux系统负载解释
阿里巴巴的一道笔试题说起
22、关于Linux系统的负载(Load),以下表述正确的是:
A: Load:2.5,1.3,1.1表示系统的负载压力在逐渐减小
B: 通过就绪和运行的进程数来反映
C: 通过top命令查看
D: 通过uptime查看
root@ma-ThinkPad-T430:~# uptime
21:07:39 up 5:08, 2 users, load average: 0.32, 0.24, 0.26
那么,怎么会有三个数字的确让人困扰。我们知道,0.32, 0.24, 0.26 分别说明上一分钟、最后五分钟以及最后十五分钟的系统负载均值。那么这又带来了一个问题:我们以哪个数字为准?一分钟?五分钟?还是十五分钟?
我认为应该着眼于五分钟或者十五分钟的平均数值。坦白讲,如果前一分钟的负载情况是 1.00,那么仍可以说明认定服务器情况还是正常的。 但是如果十五分钟的数值仍然保持在 1.00,那么就值得注意了(根据我的经验,这时候你应该增加的处理器数量了)。
root@ma-ThinkPad-T430:~# grep 'model name' /proc/cpuinfo | wc -l
8
这是查看CPU核数的命令
统计信息区前五行是系统整体的统计信息。
第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:
20:48:22 当前时间
up 4:49 系统运行时间,格式为时:分
2 users 当前登录用户数
load average: 0.35, 0.31, 0.37 系统负载,即任务队列的平均长度, 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:
Tasks: 214 total 进程总数
3 running 正在运行的进程数
210 sleeping 睡眠的进程数
1 stopped 停止的进程数
0 zombie 僵尸进程数
Cpu(s): 4.8% us 用户空间占用CPU百分比
2.5% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
91.7% id 空闲CPU百分比
0.9% wa 等待输入输出的CPU时间百分比
0.0% hi
0.1% si
最后两行为内存信息。内容如下:
Mem: 7957612k total 物理内存总量
2159380k used 使用的物理内存总量
5798232k free 空闲内存总量
98348k buffers 用作内核缓存的内存量
Swap: 8077308k total 交换区总量
0k used 使用的交换区总量
8077308k free 空闲交换区总量
1247944k cached 缓冲的交换区总量。 内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入