Project

General

Profile

機能 #3713

CPU affinityを設定する機能を追加する。

Added by n-miyamoto almost 5 years ago. Updated about 4 years ago.

Status:
終了
Priority:
通常
Assignee:
-
Start date:
11/21/2016
Due date:
% Done:

100%

Estimated time:

Description

ECにCPU affinityを設定する機能を追加する。
#3711 と同じ

Associated revisions

Revision 964 (diff)
Added by t-katami over 4 years ago

[incompat,->RELENG_1_2] CPU affinity setting has been added. refs #3713

Revision 980 (diff)
Added by t-katami about 4 years ago

[incompat,->RELENG_1_2] Fixed Fixed comments. refs #3713

History

#1 Updated by katami over 4 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 over 4 years ago

  • % Done changed from 0 to 50

#3 Updated by katami over 4 years ago

  • % Done changed from 50 to 80

#4 Updated by katami about 4 years ago

  • Status changed from 新規 to 担当
  • % Done changed from 80 to 100

#5 Updated by n-ando about 4 years ago

  • Status changed from 担当 to 終了

Also available in: Atom PDF