機能 #3713
CPU affinityを設定する機能を追加する。
Start date:
11/21/2016
Due date:
% Done:
100%
Estimated time:
Associated revisions
[incompat,->RELENG_1_2] Fixed Fixed comments. refs #3713
History
#1 Updated by katami almost 6 years ago
実装¶
インターフェース(ICPUAffinity)を準備して、その実装クラスとして、Linux用クラスとWindows用クラスを作成。
システムプロパティ(System.getProperty) から OS の種類(os.name)を取得して、OSにあったクラスのインスタンスを生成する。
Linux用実装クラス¶
Java Native Access(JNA) を使って libc の関数をコール。
Windows用実装クラス¶
Java Native Access(JNA) を使って Kernel32 の関数をコール。
動作確認¶
- rtc.conf に以下を追加
manager.cpu_affinity: 1
- component.conf に以下を追加
exec_cxt.periodic.cpu_affinity: 1
Linux用実装クラス¶
- topコマンドで確認
$ top -p 5544
[f]でフィールドマネージャで「P = Last Used Cpu」を有効にする。
Windows用実装クラス¶
- タスクマネージャーでプロセスを確認
[詳細]タブで PIDによりプロセスを探して、右クリック。
「関係の設定」を開いて指定のCPUだけにチェックが入っていることを確認。
- スレッドはどうやって確認するか?
#2 Updated by katami almost 6 years ago
- % Done changed from 0 to 50
#3 Updated by katami almost 6 years ago
- % Done changed from 50 to 80
#4 Updated by katami almost 6 years ago
- Status changed from 新規 to 担当
- % Done changed from 80 to 100
#5 Updated by n-ando almost 6 years ago
- Status changed from 担当 to 終了
[incompat,->RELENG_1_2] CPU affinity setting has been added. refs #3713