2013-11-21 19 views
12

新しい3.11カーネルでUbuntu 13.10をインストールしました。そして、3.10では、これまでのように、ローカルタイマーで中断されることなくプロセスを実行できるtickless機能を備えています。 CPU 3のローカルタイマ割り込みが実際にあるようで、再起動後どのようにしてticklessカーネルを動作させるのですか? nohz_full、rcu_nocbs、isolcpusその他は?

isolcpus=3 nohz_full=3 rcu_nocbs=3 

:私はhttp://www.breakage.org/2013/11/nohz_fullgodmode/

が、私は、CPU 3に私のアプリを実行するために計画され、このリンクをたどったので、私は私のgrubの中で次のように設定しました他のCPUよりもロットが少ない。

私も走っ:

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

をしかし、私は私のアプリの実行を開始する際、ローカルタイマ割り込みの数が跳ね上がりました。 私のアプリは、無限ループ以外何もしません。

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

私は何が欠けていますか?なぜ私は何かを実行すると割り込みが戻ってくるのですか? 私はnohz_fullは、実行中のプロセスが1つだけの場合、割り込みを停止することを意味します。

次は、私がアプリケーションを実行していないときに/ 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

今、賞金はどうですか? (また、私は手動で回答をチェックしないので、@ meにご連絡ください) – user2284570

+0

@ user2284570あなたは別の答えを持っていますか? – Ming

関連する問題