Cpu
哪裡可以找到自啟動以來執行的上下文切換的總數?
我發現一個程序執行的上下文切換的數量可以在
/proc/$$/status
. 我一直在嘗試查找自啟動以來執行的上下文切換的總數。我試著做
grep context * | grep switch
while in/proc
,並得到以下輸出... kallsyms:0000000000000000 t xen_end_context_switch kallsyms:0000000000000000 T paravirt_start_context_switch kallsyms:0000000000000000 T paravirt_end_context_switch kallsyms:0000000000000000 T nr_context_switches kallsyms:0000000000000000 T rcu_note_context_switch kallsyms:0000000000000000 r __ksymtab_rcu_note_context_switch kallsyms:0000000000000000 r __kstrtab_rcu_note_context_switch kallsyms:0000000000000000 D event_context_switch kallsyms:0000000000000000 D event_class_ftrace_context_switch kallsyms:0000000000000000 t ftrace_define_fields_context_switch kallsyms:0000000000000000 T __event_context_switch ...
打開時無法理解此文件。我也試過
grep -s -r context | grep switch
了,但似乎花費了太多時間。找不到 的man
條目kallsyms
。那麼,我在哪裡可以找到自啟動以來進行的上下文切換的總數,以及我可以自己做些什麼來找到它?
每個處理器執行的切換次數可以在 中找到
proc/sched_debug
。的輸出
grep nr_switches *
是... sched_debug: .nr_switches : 2652089 sched_debug: .nr_switches : 2677660 sched_debug: .nr_switches : 2778421 sched_debug: .nr_switches : 2467321 sched_debug: .nr_switches : 2527589 sched_debug: .nr_switches : 2511760 sched_debug: .nr_switches : 2528093 sched_debug: .nr_switches : 2584352 sched_debug: .nr_switches : 2570571 sched_debug: .nr_switches : 2678180 sched_debug: .nr_switches : 2381052 sched_debug: .nr_switches : 2535081 ...
列印的此類行數顯然取決於您機器上的邏輯核心數。