首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >服务器平均负载精确公式

服务器平均负载精确公式
EN

Server Fault用户
提问于 2017-09-28 13:10:53
回答 2查看 124关注 0票数 -1

假设cpu平均负载取决于运行状态(R状态)+进程等待I/O (D状态)的进程数。但是今天我注意到服务器的平均负载很高,运行的进程数为1,没有进程等待I/O。

我也检查了线程的运行和I/O进程,这是最小的。能不能有人从这个较高的负荷平均数正在产生的地方输入。

系统有4核心cpu与ubuntu操作系统。

代码语言:javascript
代码运行次数:0
运行
复制
top - 21:10:01 up 4 days, 23:29,  0 users,  load average: 32.31, 43.25, 19.64
Threads: 2077 total,   1 running, 2076 sleeping,   0 stopped,   0 zombie
%Cpu(s):  4.9 us,  2.0 sy,  0.1 ni, 92.0 id,  0.6 wa,  0.4 hi,  0.0 si,  0.0 st
KiB Mem:  16434332 total, 15447756 used,   986576 free,  1593972 buffers

KiB交换:总计6287356,使用1259140,免费5028216。2754608缓存Mem

所以我在这里寻找精确的公式来计算系统的平均负荷。提前谢谢。

EN

回答 2

Server Fault用户

发布于 2017-09-28 14:15:57

Load是暂停等待系统调用的当前三个节点的数目。

试着跑

代码语言:javascript
代码运行次数:0
运行
复制
ps -eafT

您可能会发现您的单个进程可以有数十个线程。

系统的负载基本上是当时调度承诺的衡量标准。你有多少核心的工作可以安排。如果您有那么多的pids或线程完全饱和调度器,您将看到数量的核心负载。

你的平均负荷很容易达到比这更高的水平。一旦你达到饱和,你就不会像可能被添加的那样做那么多的“工作”,而且你可以有一个“堆叠”的任务。在负载再次下降之前,系统必须仔细处理积压的系统。

票数 2
EN

Server Fault用户

发布于 2017-09-28 14:08:38

首先,问题是什么,是否存在用户的响应时间问题?

平均负载为30或40意味着多个进程正在运行或I/O等待。

你的分析是不够的。从以6万毫秒为单位的Linux性能分析开始

简短版本:

代码语言:javascript
代码运行次数:0
运行
复制
uptime
dmesg | tail
vmstat 1
mpstat -P ALL 1
pidstat 1
iostat -xz 1
free -m
sar -n DEV 1
sar -n TCP,ETCP 1
top
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/875945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档