計算如何運行的隊列長度我試圖獲得來自Linux內核可運行的進程數。 sar -q很容易提供這些信息。但是我試圖從/ proc文件系統獲取這個值。/proc中沒有直接給出該值的文件,那麼runq-sz是如何計算的。 維基頁面http://en.wikipedia.org/wiki/Load_(computing)提供了一些洞察基於ldavg值是如何運行隊列長度計算的,但目前還不清楚。 有人可以提供更多關於這方面的指針。乾杯在Linux proc文件系統
0
A
回答
0
正如GCLA說你的貓使用
cat /proc/loadavg
,以從內核中讀取的loadavarage - 但嚴格來說,它不是一個隊列長度。
看一看
grep procs_running /proc/stat
和
grep procs_blocked /proc/stat
首先是一個實際運行隊列和第二個是一個數阻塞磁盤IO處理的。負載平均值是兩者之和的函數。
0
這裏是在SYSSTAT守護進程提供信息SAR打印出功能:
https://github.com/sysstat/sysstat/blob/master/rd_stats.c#L392
if ((fp = fopen(LOADAVG, "r")) == NULL)
return;
/* Read load averages and queue length */
fscanf(fp, "%d.%d %d.%d %d.%d %ld/%d %*d\n",
&load_tmp[0], &st_queue->load_avg_1,
&load_tmp[1], &st_queue->load_avg_5,
&load_tmp[2], &st_queue->load_avg_15,
&st_queue->nr_running,
&st_queue->nr_threads);
從/proc/loadavg
,這是由這個內核功能填充的讀取
http://lxr.free-electrons.com/source/fs/proc/loadavg.c#L13
static int loadavg_proc_show(struct seq_file *m, void *v)
{
unsigned long avnrun[3];
get_avenrun(avnrun, FIXED_1/200, 0);
seq_printf(m, "%lu.%02lu %lu.%02lu %lu.%02lu %ld/%d %d\n",
LOAD_INT(avnrun[0]), LOAD_FRAC(avnrun[0]),
LOAD_INT(avnrun[1]), LOAD_FRAC(avnrun[1]),
LOAD_INT(avnrun[2]), LOAD_FRAC(avnrun[2]),
nr_running(), nr_threads,
task_active_pid_ns(current)->last_pid);
return 0;
}
的nr_running()
功能提供了總的兩當前正在運行的任務和準備在CPU上運行的任務;這是一個即時的措施。我相信,這將排隊與sar
runq-sz
變量。
格雷厄姆
相關問題
- 1. 關於/ proc文件系統
- 2. 卸載proc文件系統
- 3. 在linux中獲取圖形卡信息(/ proc文件系統)
- 4. /proc文件系統掛起我的系統
- 5. /proc文件系統的優勢
- 6. linux proc文件夾
- 7. Linux操作系統:/ proc/[pid]/smaps vs/proc/[pid]/statm
- 8. 關於Linux文件系統
- 9. Unix/Linux文件系統
- 10. Linux中的文件系統
- 11. Linux的proc文件文檔
- 12. Linux文件系統體系結構
- 13. Linux文件系統的父子關係
- 14. 在Linux vs Windows中的文件系統
- 15. Linux的能力在FUSE文件系統
- 16. 在Linux平臺上捕獲文件系統系統調用
- 17. 在Fedora Linux系統
- 18. 爲linux,mac,windows開發「文件系統」
- 19. Linux中的XTVFS文件系統
- 20. Linux文件系統的歷史觀點
- 21. 沒有內核的Linux文件系統
- 22. Linux中根文件系統的版本
- 23. Linux與Hadoop文件系統的區別
- 24. linux文件系統權限問題
- 25. Linux系統調用來發現設備的文件系統
- 26. 優化嵌入式linux系統的根文件系統大小
- 27. Linux系統()API
- 28. 檢測'/ proc'文件系統的正確方法是什麼?
- 29. 使用Proc文件系統計算進程的內存
- 30. 如何創建一個像/ proc的文件系統?