2016-10-17 10 views
1

私のLinux 3.10.0-327.el7.x86_64でisolcpus = 2を設定しました。私が欲しいのは です。カーネルスケジューラでCPUコア2のタスクをスケジュールしないようにしてください。コア2で何が起こっているかを見るために専用CPUコアでデーモンが動作しないようにする

perf record -e sched:sched_switch -C 2 

を持っているし、その後、私のAPを(実行するCPU_SET(2)、 、次のコマンド:

perf report --show-total-period -i perf.data 

GET結果:

48.85%   85 swapper   [kernel.kallsyms] [k] __schedule 
    18.97%   33 kworker/u384:0 [kernel.kallsyms] [k] __schedule 
    11.49%   20 :4594   [kernel.kallsyms] [k] __schedule 
    11.49%   20 smartd   [kernel.kallsyms] [k] __schedule 
    4.60%    8 watchdog/2  [kernel.kallsyms] [k] __schedule 
    3.45%    6 sshd   [kernel.kallsyms] [k] __schedule 
    1.15%    2 kworker/2:2  [kernel.kallsyms] [k] __schedule 

私はkworker/2を知っています、watchdog/2はハウスキーピングタスクです、スレッドID 4594は私がCPU_SET(2)で私のアプリケーションを動かすものですが、本当にsshd、smartdデーモンがコア2で動くのを避けたいです。デーモンがコア2で実行されるのを避けるためにカーネルに伝えるためにできる設定ファイルはどれですか?

編集:編集GRUB後

、そこに更新-grubのコマンドであると、再起動する必要があり、 私は、GRUBを更新する方法を見つけ出すしようと、私はgrubの設定isolcpus = 2だと思うが、それが有効になっていませんしかし、私はisolcpus = 2を作った後に結果を更新します。

答えて

1

プログラム 'schedtool'が役に立つかもしれませんが、指定されたCPU上で実行するプロセスを制限することができます。 そのユーティリティの助けによって。 プロセスの親和性を最初のCPU(CPU0)のみに設定するには: #> schedtool -a 0x1 正確な要件に従って、パラメータ0x1とPIDを置き換えます。

関連する問題