Project

General

Profile

Actions

機能 #3713

closed

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

Added by n-miyamoto about 8 years ago. Updated over 7 years ago.

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

100%

Estimated time:

Description

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

Actions #1

Updated by katami over 7 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だけにチェックが入っていることを確認。
  • スレッドはどうやって確認するか?
Actions #2

Updated by katami over 7 years ago

  • % Done changed from 0 to 50
Actions #3

Updated by katami over 7 years ago

  • % Done changed from 50 to 80
Actions #4

Updated by katami over 7 years ago

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

Updated by n-ando over 7 years ago

  • Status changed from 担当 to 終了
Actions

Also available in: Atom PDF