プロジェクト

全般

プロフィール

機能 #3713

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

n-miyamoto7年以上前に追加. 6年以上前に更新.

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

100%

予定工数:

説明

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

関係しているリビジョン

リビジョン 964 (差分)
t-katami が6年以上前に追加

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

リビジョン 980 (差分)
t-katami が6年以上前に追加

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

履歴

#1 katami が6年以上前に更新

実装

インターフェース(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 katami が6年以上前に更新

  • 進捗率0 から 50 に変更

#3 katami が6年以上前に更新

  • 進捗率50 から 80 に変更

#4 katami が6年以上前に更新

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

#5 n-ando6年以上前に更新

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

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