2013-11-21 39 views
12

我剛安裝了新的3.11內核的Ubuntu 13.10。而在3.10中,它具有無滴答功能,可以在不受本地計時器干擾的情況下運行進程,而不像以前那樣。我跟着這個鏈接http://www.breakage.org/2013/11/nohz_fullgodmode/我如何得到無滴答的內核工作? nohz_full,rcu_nocbs,isolcpus還有什麼?

我計劃在CPU 3上運行我的應用程序,所以我將在我的食物如下:

isolcpus=3 nohz_full=3 rcu_nocbs=3 

重啓後,似乎對CPU 3當地定時器中斷確實是一個比其他cpus少很多。

我也跑:

# for i in `pgrep rcu` ; do taskset -pc 0 $i ; done 

但是,當我開始運行我的應用程序,本地定時器中斷的次數躍升。 我的應用程序只做了一個無限循環。

int main() { 
while (true) { 
} 
} 

那麼我錯過了什麼?爲什麼時間中斷會在我運行某些東西時回來? 我認爲nohz_full意味着只有一個進程在運行,它會停止中斷。

以下是我沒有運行該應用程序時/ proc/sched_debug的輸出,顯然該CPU上沒有其他進程。那麼我錯過了什麼?

cpu#3, 2492.071 MHz 
    .nr_running     : 0 
    .load       : 0 
    .nr_switches     : 45818 
    .nr_load_updates    : 11165 
    .nr_uninterruptible   : -1 
    .next_balance     : 4295.674289 
    .curr->pid      : 0 
    .clock       : 3127610.519188 
    .cpu_load[0]     : 0 
    .cpu_load[1]     : 0 
    .cpu_load[2]     : 0 
    .cpu_load[3]     : 0 
    .cpu_load[4]     : 0 
    .yld_count      : 0 
    .sched_count     : 47377 
    .sched_goidle     : 3956 
    .avg_idle      : 1000000 
    .ttwu_count     : 29329 
    .ttwu_local     : 26078 

cfs_rq[3]:/ 
    .exec_clock     : 15750.800052 
    .MIN_vruntime     : 0.000001 
    .min_vruntime     : 15699.782432 
    .max_vruntime     : 0.000001 
    .spread      : 0.000000 
    .spread0      : -247950.011716 
    .nr_spread_over    : 0 
    .nr_running     : 0 
    .load       : 0 
    .runnable_load_avg    : 0 
    .blocked_load_avg    : 0 
    .tg_load_contrib    : 0 
    .tg_runnable_contrib   : 0 
    .tg_load_avg     : 602 
    .tg->runnable_avg    : 592 
    .avg->runnable_avg_sum   : 0 
    .avg->runnable_avg_period  : 47077 

rt_rq[3]:/ 
    .rt_nr_running     : 0 
    .rt_throttled     : 0 
    .rt_time      : 0.000000 
    .rt_runtime     : 950.000000 

runnable tasks: 
      task PID   tree-key switches prio  exec-runtime   sum- exec  sum-sleep 
---------------------------------------------------------------------------------------- ------------------ 
+0

對於RHEL 7,這些鏈接可能會有所幫助:https://access.redhat.com/solutions/15482 https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Performance_Tuning_Guide/sect -Red_Hat_Enterprise_Linux-Performance_Tuning_Guide-CPU-Configuration_suggestions.html – javapowered

回答

3

好吧,我發現我需要建立我自己的內核來打開配置。

+0

好的,現在獎勵呢? (另外,請通知@我,因爲我沒有手動檢查答案) – user2284570

+0

@ user2284570你有不同的答案? – Ming

相關問題