Load Average

简介:

在Linux系统下面,有很多的命令可以查看系统的负载情况:比如top,uptime,w,示例如下:

[wenchao.ren@l-cmsweb1.ops.cn1 ~]$ w
 18:39:10 up 761 days, 13:59,  1 user,  load average: 0.32, 0.45, 0.43
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
wenchao. pts/1    192.168.22.28    17:55    0.00s  0.03s  0.02s sshd: wenchao.ren [priv]

[wenchao.ren@l-cmsweb1.ops.cn1 ~]$ uptime 
 18:39:16 up 761 days, 13:59,  1 user,  load average: 0.29, 0.45, 0.43

[wenchao.ren@l-cmsweb1.ops.cn1 ~]$ top
top - 18:39:19 up 761 days, 13:59,  1 user,  load average: 0.27, 0.44, 0.42
Tasks: 104 total,   1 running, 103 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.1%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.1%st
Mem:   4194304k total,  4156132k used,    38172k free,   388176k buffers
Swap:  8385920k total,       96k used,  8385824k free,  1608244k cached

我们可以看到无论上面3个命令中的哪个,输出中都包含有load average这一项,他是由3个数字组成。分别代表了:

分别表示系统在过去1分钟、5分钟、15分钟内运行进程队列中的平均进程数量

有关这个运行进程队列,没有等待IO,没有WAIT,没有KILL的进程通通都进这个队列。另外还有一个最直接的显示系统平均负载的命令:

[wenchao.ren@l-cmsweb1.ops.cn1 ~]$ cat /proc/loadavg
0.32 0.35 0.38 1/292 2683

下面对这个命令进行解释:

前3个数字表示平均进程数量,后面的1个分数,分母表示系统进程总数,分子表示正在运行的进程数;最后一个数字表示最近运行的进程ID.

对负载的理解

单核CPU - 单车道 - 数字在0.00-1.00之间正常

0.00-1.00 之间的数字表示情况非常良好,没有拥堵

1.00 表示还算正常,但有可能会恶化并造成拥堵。此时系统已经没有多余的资源了,管理员需要进行优化。

1.00-*** 表示情况不太好了,这种情况你必须进行检查了。

多核CPU - 多车道 - 数字/CPU核数 在0.00-1.00之间正常

多核CPU的话,满负荷状态的数字为 "1.00 * CPU核数",即双核CPU为2.00,四核CPU为4.00。

安全的系统平均负载

一般认为单核负载在0.7以下是安全的,超过0.7就需要进行优化了。

应该看哪一个数字,1分钟,5分钟还是15分钟?

一般认为看5分钟和15分钟的比较好,即后面2个数字。

怎样知道我的CPU是几核呢?

使用以下命令可以直接获得CPU核心数目

grep 'model name' /proc/cpuinfo | wc -l

或者使用:

grep -c 'model name' /proc/cpuinfo

结论

取得CPU核心数目N,观察后面2个数字,用数字/N,如果得到的值小于0.7即可无忧。

参考资料

目录
相关文章
|
7月前
|
Linux Windows
【已解决】ValueError: num_samples should be a positive integer value, but got num_samples=0
【已解决】ValueError: num_samples should be a positive integer value, but got num_samples=0
|
BI
[TOP]load average 负载相关
[TOP]load average 负载相关
42 0
|
机器学习/深度学习 数据挖掘 Python
使用Python实现Hull Moving Average (HMA)
赫尔移动平均线(Hull Moving Average,简称HMA)是一种技术指标,于2005年由Alan Hull开发。它是一种移动平均线,利用加权计算来减少滞后并提高准确性。
408 0
|
人工智能 编解码 自动驾驶
YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors
YOLOv7在5 FPS到160 FPS的范围内,在速度和精度方面都超过了所有已知的物体检测器,在GPU V100上以30 FPS或更高的速度在所有已知的实时物体检测器中具有最高的精度56.8% AP。
466 0
|
PyTorch 算法框架/工具
Please ensure they have the same size. return F.mse_loss(input, target, reduction=self.reduction) 怎么解决?
这个通常是由于 input 和 target 张量的维度不匹配导致的,因此可以通过调整它们的维度来解决。
324 0
|
JSON 数据格式
ValueError: With n_samples=0, test_size=0.15 and train_size=None, the resulting train set will be em
ValueError: With n_samples=0, test_size=0.15 and train_size=None, the resulting train set will be em
518 0
ValueError: With n_samples=0, test_size=0.15 and train_size=None, the resulting train set will be em
|
机器人
GazeboRosControlPlugin::Load 函数详解
GazeboRosControlPlugin::Load 函数详解
GazeboRosControlPlugin::Load 函数详解
成功解决ValueError: With n_samples=0, test_size=0.3 and train_size=None, the resulting train set will be
成功解决ValueError: With n_samples=0, test_size=0.3 and train_size=None, the resulting train set will be
成功解决ValueError: With n_samples=0, test_size=0.3 and train_size=None, the resulting train set will be
|
算法框架/工具 Windows
|
前端开发 Go C++
hot load那点事
热加载,最初接触的时候是使用create-react-app的时候,创建一个项目出来,修改一点代码,页面自动刷新了,贫道当时就感叹,这是造福开发者的事情。 再后来编写静态页面的时候使用 VS Code 的插件 Liver Server, 也是及时刷新,平僧幸福感慢慢,什么单不单身,狗不狗的,都不重要了。
191 0