linuxで特定のプロセスのCPU使用率を調整するcpulimit

非常に時間のかかるコマンドなんかを実行した時、「今はちょっとブラウザ見たいから、お前ちょっと黙っててくれない。」なんて気持ちになる時がある。

ちょっと調べたら、その名の通り、cpulimitなるコマンドがあった。ubuntuならパッケージで簡単インストール

使い方は、

* プロセスID指定(50%)

* 実行ファイル名指定(50%)

* PATH指定(50%)

とこんな感じ

ちょっと試したところ

とこんな感じ。上はいい感じの部分をとってるが、パーセンテージは結構ばらついていた。

仕組みを解説されているかたがいたのですが、

SIGSTOP

SIGCONT

を繰り返しているだけの模様。実際straceで見てもそんな感じだった。

シグナル送るだけなら、whileループで回せば、sleep時間調整すれば同じようなこと出来るんじゃないかと思ってやってみた。

これで40%近くで安定した。sleep値はモロ環境に依存すると思う。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)