乐趣区

关于linux:Linux操作系统负载的命令查看与详解

在平时的工作与生存中,掂量服务器的性能是每一个程序员必备的技能,load 作为必不可少的掂量性能的指标,它的了解和查看是十分重要的,本文次要介绍 load(负载)的罕用查看命令与定义和零碎机器失常负载范畴:

负载的概念
负载(load)是 linux 机器的一个重要指标,直观了反馈了机器以后的状态。

简略解释一下:在 LINUX 零碎中,零碎负载是对以后 CPU 工作量的度量,被定义为特定工夫距离内运行队列中的均匀线程数。load average 示意机器一段时间内的均匀 load。这个值越低越好。负载过高会导致机器无奈解决其余申请及操作,甚至导致死机。

Linux 的负载高,次要是因为 CPU 应用、内存应用、IO 耗费三局部形成。任意一项应用过多,都将导致服务器负载的急剧攀升。

查看机器负载
在 Linux 机器上,有多个命令都能够查看机器的负载信息。其中包含 uptime、top、w、iostat 等。

uptime 命令
uptime 命令可能打印零碎总共运行了多长时间和零碎的均匀负载。uptime 命令能够显示的信息显示顺次为:当初工夫、零碎曾经运行了多长时间、目前有多少登陆用户、零碎在过来的 1 分钟、5 分钟和 15 分钟内的均匀负载。

这行信息的后半局部,显示“load average”,它的意思是“零碎的均匀负荷”,外面有三个数字,咱们能够从中判断零碎负荷是大还是小。

0.40 0.36 0.41 这三个数字的意思别离是 1 分钟、5 分钟、15 分钟内零碎的均匀负荷。咱们个别示意为 load1、load5、load15。

w 命令
w 命令的次要性能其实是显示目前登入零碎的用户信息。然而与 who 不同的是,w 命令性能更加弱小,w 命令还能够显示:以后工夫,系统启动到当初的工夫,登录用户的数目,零碎在最近 1 分钟、5 分钟和 15 分钟的均匀负载。而后是每个用户的各项数据,我的项目显示程序如下:登录帐号、终端名称、远 程主机名、登录工夫、闲暇工夫、JCPU、PCPU、以后正在运行过程的命令行。

从下面的 w 命令的后果能够看到,以后零碎工夫是 19:31,系统启动到当初经验了 8 天 5 个小时,共有 8 个用户登录。零碎在近 1 分钟、5 分钟和 15 分钟的均匀负载别离是 1.68 0.98 0.70。这和 uptime 失去的后果大致相同。上面还打印了一些登录的用户的各项数据,不具体介绍了

Top 命令
top 命令是 Linux 下罕用的性能剖析工具,可能实时显示零碎中各个过程的资源占用情况,相似于 Windows 的工作管理器。

第一行与就不解释了上文曾经提到

第二行:Tasks: 116 total, 2 running, 107 sleeping, 0 stopped, 0 zombie
116 total:以后有 116 个工作
2 running:2 个工作正在运行
114 sleeping:114 个过程处于睡眠状态
0 stopped:进行的过程数
0 zombie:僵死的过程数
第三行:%Cpu(s): 9.6 us, 9.6 sy, 0.0 ni, 80.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
9.6%us:用户态过程占用 CPU 工夫百分比
9.6%sy:内核占用 CPU 工夫百分比
0.0%ni:renice 值为负的工作的用户态过程的 CPU 工夫百分比。nice 是优先级的意思
80.9%id:闲暇 CPU 工夫百分比
0.0%wa:期待 I / O 的 CPU 工夫百分比
0.0%hi:CPU 硬中断工夫百分比
0.0%si:CPU 软中断工夫百分比
第四行:KiB Mem : 1881840 total, 95644 free, 914944 used, 871252 buff/cache
1881840k total:物理内存总数
95644k used:应用的物理内存
914944k free:闲暇的物理内存
871252k cached:用作缓存的内存

第五行:KiB Swap: 0 total, 0 free, 0 used. 1871412 avail Mem
0k total:替换空间的总量
0k used:应用的替换空间
0k free:闲暇的替换空间
1871412k cached:缓存的替换空间

第六行:PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID:过程 ID
USER:过程的所有者
PR:过程的优先级
NI:nice 值
VIRT:占用的虚拟内存
RES:占用的物理内存
SHR:应用的共享内存
S:进行状态 S:休眠 R 运行 Z 僵尸过程 N nice 值为负
%CPU:占用的 CPU
%MEM:占用内存
TIME+:占用 CPU 的工夫的累加值
COMMAND:启动命令

机器失常负载范畴
对于机器的 Load 到底多少算失常的问题,始终都是很有争议的,不同人有着不同的了解。对于单个 CPU,有人认为如果 Load 超过 0.7 就算是超出失常范畴了。也有人认为只有不超过 1 都没问题。也有人认为,单个 CPU 的负载在 2 以下都能够承受。

当零碎负荷继续大于 0.7,你必须开始考察了,问题出在哪里,避免状况好转。

当零碎负荷继续大于 1.0,你必须入手寻找解决办法,把这个值降下来。

当零碎负荷达到 5.0,就表明你的零碎有很重大的问题,长时间没有响应,或者靠近死机了。你不应该让零碎达到这个值。

还有一点须要提一下,在 Load Avg 的指标中,有三个值,1 分钟零碎负荷、5 分钟零碎负荷,15 分钟零碎负荷。咱们在排查问题的时候也是能够参考这三个值的。

个别状况下,1 分钟零碎负荷示意最近的临时景象。15 分钟零碎负荷示意是继续景象,并非临时问题。如果 load15 较高,而 load1 较低,能够认为状况有所恶化。反之,状况可能在好转。
参考链接:
4 Ways to Check Load Average in Linux

退出移动版