Linux

sar中runq-sz是怎麼算的?

  • August 18, 2020

我想問一下關於輸出的問題sar -q。如果有人可以幫助我理解,我將不勝感激runq-sz

我有一個 cpu 執行緒正在 8 cpu threads執行的系統RHEL 7.2

[ywatanabe@host2 ~]$ cat /proc/cpuinfo | grep processor | wc -l
8

以下是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

從 中man sar,我在想這runq-sz表示執行隊列中的任務數,其中狀態為TASK_RUNNING對應於 R 中的狀態ps

         runq-sz
                Run queue length (number of tasks waiting for run time).

究竟runq-sz代表什麼?

此手冊頁對此屬性有更詳細的說明:

執行q沒有

記憶體中等待 CPU 執行的核心執行緒數。通常,此值應小於 2。始終較高的值意味著系統可能受 CPU 限制。

解釋結果

與許多“指標”一樣,您必須將它們相互結合使用來解釋是否存在性能問題。這個特定的指示器指示您的系統是否缺乏 CPU 時間。

而 load1、5、15 表示處於執行隊列中但被迫等待時間執行的程序。load1,5,15 種類告訴您系統的總體趨勢,以及是否有很多程序在等待(增加負載)與趨勢下降。但是程序可以等待 load1,5,15 的各種事情,通常是當您看到高負載時 I/O 阻塞 1,5,15 次。

使用 runq-sz,您正在等待 CPU 上的時間。

參考

引用自:https://unix.stackexchange.com/questions/464530