systemd サービス ユニット ファイル内の特定のプロセスに対して CPUAffinity=0 を設定することは可能ですか?

systemd サービス ユニット ファイル内の特定のプロセスに対して CPUAffinity=0 を設定することは可能ですか?

systemd サービス ユニット ファイル内の特定のプロセス (httpd.service など) に対して CPUAffinity=0 を設定することは可能ですか?

答え1

デフォルトの CPU アフィニティ マスクはCPUAffinity=0,24,48,72systemd によって管理されるすべてのサービスに適用されますが、ユニットごとに独自のアフィニティ設定を設定できます。

systemd サービスの CPU アフィニティ マスクを設定するには、CPUAffinityユニット ファイル オプションを使用します。

  1. 選択したサービスの CPUAffinity ユニット ファイル オプションの値を確認します。

$ systemctl show --property CPUAffinity <service name>

  1. ルートとして、アフィニティ マスクとして必要な値 (「0」など) を設定します。

systemctl set-property <service name> CPUAffinity=0

  1. サービスを再起動する

systemctl restart <service name>

関連情報