CPUを多用する他のプロセスが実行されている場合は、プロセスを一時停止して再開する監視スクリプトをどのように生成できますか?

CPUを多用する他のプロセスが実行されている場合は、プロセスを一時停止して再開する監視スクリプトをどのように生成できますか?

私は大学のさまざまなグループで使用されているサーバーで数日間、非常に大きなテスト設定を実行しています。

pidでプロセス(現在実行中のプロセスがある場合は実行中のプロセス)を一時停止し、CPU集約的なプロセスが停止したら続行したいと思います。少なくとも1つのコアが15秒以上100%で実行されます。

(「親」出力をどのように解釈するかはわかりませんが、CPU使用率が2300%のプロセスがよくあります。これは、23個のコアが100%で実行されるか、22個のコアが(100%-x%で実行されると解釈されます)) ) *22=2300% ETC 実行)。

プロセスを一時停止するには、2つのbashコマンドのいずれかを選択する必要があります。

kill -TSTP [pid]

そして

kill -STOP [pid]

プロセスを続行するには、次を使用します。

kill -CONT [pid]

私以来Pythonスクリプトテスト設定で確実に実行実行されたプロセスのランタイム測定方法があるかどうか尋ねたいプロセスの実行中にのみ時間を測定してください。? (また、私のPythonスクリプトで実行されているプロセスの組み込み関数を使用して正確な計算時間を測定しましたが、いくつかの疑わしい結果が原因です(絶対時間は問題があり、相対時間は正しいようです))精度が低下することがあります。可能な時間測定が外部で可能です(Pythonスクリプト)。

一般化する

  1. これらのプロセスを見つけ、それに応じて対応するスクリプトをどのように設計できますか? (サーバーにルートはありませんが、実行されたすべてのプロセスを表示して直接処理できます)
  2. プロセスが一時停止された時間を除いて、これらのプロセスの正確な時間測定(+/- 10秒)をどのように取得できますか?

ベストアンサー1

おすすめ記事