26.10. systemctl コマンドを使用してアプリケーションに制限を設定する
CPU アフィニティー設定は、プロセスが特定の CPU にアクセスできないように制限します。CPU スケジューラーは、プロセスのアフィニティーマスクに含まれていない CPU に、そのプロセスをスケジュールすることはありません。
デフォルトの CPU アフィニティーマスクは、systemd が管理するすべてのサービスに適用されます。
特定の systemd サービスに対して CPU アフィニティーマスクを設定するために、systemd は CPUAffinity= を 次のように提供します。
- ユニットファイルオプション
-
/etc/systemd/system.confファイルの [Manager] セクションの設定オプション
CPUAffinity= ユニットファイルオプションでは、マージしてアフィニティーマスクとして使用する CPU または CPU 範囲のリストを設定します。
CPUAffinity ユニットファイルオプションを使用すると、systemd サービスの CPU アフィニティーマスクを設定できます。
手順
選択したサービスで
CPUAffinityユニットファイルオプションの値を確認します。$ systemctl show --property <CPU affinity configuration option> <service name>root ユーザーに切り替え、アフィニティーマスクとして使用する CPU 範囲に応じて、
CPUAffinityユニットファイルオプションの必要な値を設定します。# systemctl set-property <service name> CPUAffinity=<value>サービスを再起動して変更を適用します。
# systemctl restart <service name>