Linux
sar中runq-sz是怎麼算的?
我想問一下關於輸出的問題
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 上的時間。
參考