systemdのcgroup設定はどこにありますか?

systemdのcgroup設定はどこにありますか?

私の理解は、基本的にsystemdがcpu.share = 1024を使用して単一のcgroupですべてのプロセスを開始することです。サービスのcpu.shareをオーバーライドすることを選択した場合、そのサービスの下のプロセス用に新しいcgroupが作成され、選択した値にcpu.shareが設定されます。

60%CPUを提供できるカスタムcpu.shareを使用して新しいcgroupを手動で作成したいと思います。これを行うには、既存のすべてのcgroupのcpu.share値を知る必要があります。 systemdはこれらの値をどこに設定しますか?これを簡単に得る方法はありますか? /sys/fs/cgroup/cpuには、ルートグループ(1024に設定)と私が手動で作成したグループのみが含まれます。

ベストアンサー1

systemd の CGroup オプションは、次のドキュメントで説明されています。man systemd.exec(またはman systemd.resource-control)。あなたが探しているものは次のとおりです。

CPUWeight=weightStartupCPUWeight=weight

システムが統合制御グループ階層を使用する場合、指定された CPU 時間重みが実行プロセスに割り当てられます。これらのオプションは整数値を取り、制御cpu.weightグループのプロパティを制御します。許容範囲は1〜10000です。デフォルト値は 100 です。このコントロールグループのプロパティの詳細については、次を参照してください。cgroup-v2.txtそして 計画設計 - CFS.txt。使用可能なCPU時間は、CPU時間の重みに基づいてスライス内のすべてのデバイスに分散されます。

おすすめ記事