システムの使用量が多い場合は、バックグラウンドプロセスのCPU使用率を制限してください。

システムの使用量が多い場合は、バックグラウンドプロセスのCPU使用率を制限してください。

現在、私は次のことを行います。 Ubuntuサーバーのシステム負荷が高い場合、現在実行中の特定のバックグラウンドプロセスのPIDを取得し、PIDを使用してcpulimitを開始します。システムの負荷が低くなると、バックグラウンドプロセスがより速く実行されるようにcpulimitを終了します。ロードがまだ高すぎる場合は、cpulimit を終了し、プロセスの下限値で再起動します。

数時間後にバックグラウンドプロセスが完了するまでこれを繰り返します。しかし、この作業を毎日手動で実行するのは非常に面倒なので、これを自動化する方法があるかどうか疑問に思いました。

答え1

単に実行中の「バックグラウンド」プロセスを試すことができますnice -20

これが実行中の唯一のタスクの場合はパフォーマンスに影響を与えませんが、フォアグラウンドタスクがある場合、そのタスクは「悪い」ことがないため、より速く実行されます。

関連情報