プロジェクト

全般

プロフィール

機能 #3713

完了

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

n-miyamoto さんが7年以上前に追加. ほぼ7年前に更新.

ステータス:
終了
優先度:
通常
担当者:
-
対象バージョン:
開始日:
2016/11/21
期日:
進捗率:

100%

予定工数:

説明

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

katami さんが約7年前に更新

実装

インターフェース(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だけにチェックが入っていることを確認。
  • スレッドはどうやって確認するか?

katami さんが約7年前に更新

  • 進捗率0 から 50 に変更

katami さんが約7年前に更新

  • 進捗率50 から 80 に変更

katami さんがほぼ7年前に更新

  • ステータス新規 から 担当 に変更
  • 進捗率80 から 100 に変更

n-ando さんがほぼ7年前に更新

  • ステータス担当 から 終了 に変更

他の形式にエクスポート: Atom PDF