17.3. サービスの CPU 使用率の設定
systemd を使用して、サービスを実行できる CPU を指定できます。
前提条件
- 管理者権限がある。
手順
サービスの補助サービス設定ディレクトリーファイルを作成します。
md sscd
# md sscdCopy to Clipboard Copied! Toggle word wrap Toggle overflow [Service]セクションのCPUAffinity属性を使用して、サービスに使用する CPU をファイルに追加します。以下に例を示します。
[Service] CPUAffinity=0,1 EOF
[Service] CPUAffinity=0,1 EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow systemd スクリプトの設定を再読み込みします。
systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow サービスを再起動します。
systemctl restart service
# systemctl restart serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
指定したサービスを実行可能な CPU を表示します。
tuna -t mcelog -P
$ tuna -t mcelog -PCopy to Clipboard Copied! Toggle word wrap Toggle overflow serviceは、指定したサービスに置き換えます。以下の出力は、
mcelogが CPU 0 および 1 に制限されていることを示しています。thread ctxt_switches pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 12954 FIFO 20 0,1 2 1 mcelog
thread ctxt_switches pid SCHED_ rtpri affinity voluntary nonvoluntary cmd 12954 FIFO 20 0,1 2 1 mcelogCopy to Clipboard Copied! Toggle word wrap Toggle overflow