Yu *_*abe 4 linux cpu kernel sar
我想问一下关于 的输出的问题sar -q
。如果有人能帮助我理解,我将不胜感激runq-sz
。
8 cpu threads
我有一个 cpu 线程打开的系统 RHEL 7.2
。
[ywatanabe@host2 ~]$ cat /proc/cpuinfo | grep processor | wc -l
8
Run Code Online (Sandbox Code Playgroud)
以下是sar -q
我的系统的结果,但与 相比runq-sz
似乎较低ldavg-1
。
runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
05:10:01 PM 0 361 0.29 1.68 2.14 0
05:11:01 PM 0 363 1.18 1.61 2.08 2
05:12:01 PM 0 363 7.03 3.15 2.58 1
05:13:01 PM 0 365 8.12 4.15 2.96 1
05:14:01 PM 3 371 7.40 4.64 3.20 1
05:15:01 PM 2 370 7.57 5.26 3.51 1
05:16:01 PM 0 366 8.42 5.90 3.84 1
05:17:01 PM 0 365 8.78 6.45 4.16 1
05:18:01 PM 0 363 7.05 6.40 4.28 2
05:19:02 PM 1 364 8.05 6.74 4.53 0
05:20:01 PM 0 367 7.96 6.96 4.74 1
05:21:01 PM 0 367 7.86 7.11 4.93 1
05:22:01 PM 1 366 7.84 7.31 5.14 0
Run Code Online (Sandbox Code Playgroud)
从 中man sar
,我认为runq-sz
代表运行队列内的任务数量,其状态为TASK_RUNNING,对应于 中的 R 状态ps
。
runq-sz
Run queue length (number of tasks waiting for run time).
Run Code Online (Sandbox Code Playgroud)
实际上代表什么runq-sz
?
此手册页对此属性有更详细的解释:
运行q-sz
内存中等待 CPU 运行的内核线程数。通常,该值应小于 2。值始终较高意味着系统可能受 CPU 限制。
与许多“指标”的情况一样,您必须将它们结合使用来解释是否存在性能问题。该特定指示器指示您的系统是否缺乏 CPU 时间。
而 load1、5、15 表示进程位于运行队列中,但被迫等待运行时间。load1,5,15 变量告诉您系统的总体趋势,以及是否有大量进程在等待(增加负载)与下降趋势。但是进程可以通过 load1,5,15 等待各种事情,通常是当您看到高 load1,5,15 倍时 I/O 被阻塞。
使用 runq-sz,您可以等待 CPU 的时间。