他のコマンドを実行するbashスクリプトのcpulimit

他のコマンドを実行するbashスクリプトのcpulimit

他のCPU集約命令を実行するbashスクリプトがあります。

cpulimitbashスクリプトに適用すると、topスクリプト内のコマンドを表示するプロセスの出力は影響を受けずに実行され続けますcpulimit。 bashスクリプト内でコマンドのCPU使用量を制限する方法を知りたいです。

ベストアンサー1

によるとcpulimit --help

-i, --include-children limit also the children processes

私はこれが子供たちに働くかどうかをテストしませんでした。


cgroupsあるいは、カーネル関数であるものを使用することもできます。

Cgroup自体は子プロセスを制限する方法を提供しませんが、libcgroupが提供するcgルールエンジンデーモン(cgred)を使用できます。cgexeclibcgroupパッケージのコマンドとコマンドは、ルールが子プロセスにも適用されるフラグを提供します。cgclassify--sticky

競合状態が関連していることに注意してください。できる(少なくとも理論的には)いくつかのサブプロセスが正しく調整されないようにします。しかし、現在cpulimitユーザースペースで実行されているコマンドを使用しているので、すでに100%信頼できるCPU制限はないため、この競争条件は取引を妨げてはいけません。

私はここで私自身の答えでCGルールエンジンデーモンを詳しく扱っています。

おすすめ記事