标签: load-average

在“顶部”输出中如何解释“平均负载”?所有发行版都一样吗?

我想知道基于 Red-Hat 的 linux 的输出是否可以由基于 Debian 的 linux 进行不同的解释。

为了使问题更加具体,我所追求的是了解topRed-Hat 系统上命令第一行的“平均负载”是如何解释的,以及如何通过官方文档 ro 代码来验证这一点。

[有很多方法可以解决这个问题,所有这些方法都是问题的可接受答案]

一种可能的方法是找到官方记录此信息的位置。
另一种方法是找到在top我正在处理的特定发行版和版本中构建的代码版本。

我得到的命令输出是:

    top - 13:08:34 up  1:19,  2 users,  load average: 0.02, 0.00, 0.00
    Tasks: 183 total,   1 running, 182 sleeping,   0 stopped,   0 zombie
    Cpu(s):  0.2%us,  0.2%sy,  0.0%ni, 96.8%id,  2.7%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:   3922520k total,   788956k used,  3133564k free,   120720k buffers
    Swap:  2097148k total,        0k used,  2097148k free,   344216k cached
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我如何解释负载平均值

我设法从一个文档源中找到平均负载大约是最后一分钟,并且应该在乘以 100 后由另一个文档源来解释。
所以,问题是:

是 0.02% …

rhel top load-average

19
推荐指数
3
解决办法
2万
查看次数

为什么/如何“正常运行时间”显示 CPU 负载 >1?

我的 PC 上安装了一个1 核 CPU。有时,uptime显示负载 >1。这怎么可能,这意味着什么?

编辑:值上升到 2.4

uptime load-average

17
推荐指数
3
解决办法
3万
查看次数

CPU 如何知道有 IO 挂起?

我一直iowait在研究顶部实用程序输出中显示的属性,如下所示。

top - 07:30:58 up  3:37,   1 user,  load average: 0.00, 0.01, 0.05
Tasks:  86 total,   1 running,   85 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
Run Code Online (Sandbox Code Playgroud)

iowait 一般定义如下:

“这是 CPU 空闲且有一些 IO 待处理的时间。”

我的理解是一个进程在单个 CPU 上运行。在它因为已用完时隙或被阻塞而被取消调度后,它最终可以再次在任何一个 CPU 上再次调度。

在 IO 请求的情况下,将进程置于不间断睡眠状态的 CPU 负责跟踪iowait时间。其他 CPU 将报告与它们的空闲时间相同的时间,因为它们确实处于空闲状态。这个假设正确吗?

此外,假设有一个很长的 IO 请求(意味着进程有几次被调度的机会,但由于 IO 未完成而没有被调度),CPU 怎么知道有“待处理的 IO”?这种信息是从哪里获取的?CPU 怎么能简单地发现某个进程在一段时间内进入睡眠状态以完成 IO,因为任何 CPU 都可以使该进程进入睡眠状态。“待处理 IO”的状态是如何确认的?

linux cpu top load-average

17
推荐指数
1
解决办法
3759
查看次数

高平均负载:哪些进程在队列中等待?

我有一个运行 Redis 的 Ubuntu 服务器,它遇到了高负载问题。

取证

正常运行时间

# uptime
05:43:53 up 19 min,  1 user,  load average: 2.96, 2.07, 1.52
Run Code Online (Sandbox Code Playgroud)

萨尔

# sar -q 
05:24:00 AM       LINUX RESTART

05:25:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
05:35:04 AM         0       116      3.41      2.27      1.20         4
Average:            0       116      3.41      2.27      1.20         4
Run Code Online (Sandbox Code Playgroud)

CPU 利用htop率低的尴尬: 在此处输入图片说明

最佳

在此处输入图片说明

网络统计

34 个开放redis-server连接:

$ sudo netstat -natp | grep redis-server | wc -l
34
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

自由

$ free -g
             total       used       free …
Run Code Online (Sandbox Code Playgroud)

uptime sar load-average

8
推荐指数
1
解决办法
1万
查看次数

了解多核系统上的平均负载

对于仅一个微处理器单元,负载平均输出top可以理解为,如果它在 1.0 以上,则有作业在等待。但是,如果我们在具有l*n逻辑内核的多核系统上有 n 个内核(在我的 Intel CPU 上 n=6 并且l*n= 12,因此输出nproc为 12),我们是否应该将负载平均值除以输出nproc以查看该数字是否为高于 1 以了解是否有(平均)作业在等待,还是更好地用于htop了解并行多核系统是否获得了过多的平均负载?

我认为我的方法是错误的,但是当我看到平均负载高于 10 top 时得出的结论是正确的,我检查了ps哪个进程是昂贵的并发现正在运行的程序溢出,但如果该机器实际上有nproc> 10 的输出如果我知道的话,就不会真正成为调查的原因。你同意?

load-average

5
推荐指数
1
解决办法
438
查看次数

linux 平均最高负载似乎太高

按照这个https://unix.stackexchange.com/a/279354/108702,我跑了;

lscpu | grep -E '^Thread|^Core|^Socket|^CPU\('
CPU(s):              8
Thread(s) per core:  2
Core(s) per socket:  4
Socket(s):           1
Run Code Online (Sandbox Code Playgroud)

然而top

top - 01:06:47 up 51 days,  6:24,  2 users,  load average: 23.67, 22.50, 22.40
Tasks: 5989 total,   1 running, 5919 sleeping,   0 stopped,   0 zombie
%Cpu(s): 84.6 us,  2.7 sy,  0.0 ni, 12.3 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 32799488 total,   940020 free, 18284088 used, 13575380 buff/cache
KiB Swap:        0 total, …
Run Code Online (Sandbox Code Playgroud)

linux cpu load-average

1
推荐指数
1
解决办法
4716
查看次数

如何获得更小的负载平均值分辨率(<1 分钟)

我正在尝试构建一个服务,如果服务器过载,该服务会阻止其他请求。但是 1 分钟的平均负载对此还不够好,逻辑是这样的:

if load_average > core_count 
   return render 503
end
return the_requested_page
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用命令给计算机施加压力时stress -c 12 -i 100 --timeout 10,load_average 显示如下内容:

1, 3, 8, 15, 21, 20, 18, 15, 12, 11 
              ^ stress program ends here
Run Code Online (Sandbox Code Playgroud)

如何获得较小分辨率的平均负载(1-2秒,而不是1分钟平均)?

额外信息,我使用此代码读取了负载平均值

load-average

0
推荐指数
1
解决办法
136
查看次数

获取系统负载信息的Unix命令行命令是什么?

在 Linux 或 Unix 操作系统中,我收到文本

系统负载

如下。

谁能告诉我这是什么意思以及如何使用 CLI 命令提取系统负载%?

System load: 6.84
Run Code Online (Sandbox Code Playgroud)

linux command-line load-average

-3
推荐指数
1
解决办法
6997
查看次数

标签 统计

load-average ×8

linux ×3

cpu ×2

top ×2

uptime ×2

command-line ×1

rhel ×1

sar ×1