バックグラウンドタスクを停止する方法/ベンチマークモードを作成する方法を探しています

バックグラウンドタスクを停止する方法/ベンチマークモードを作成する方法を探しています

私は Ubuntu 20.04 を使用しており、CFD コードのパフォーマンス最適化に取り組んでいます。変更が有益かどうかの迅速なフィードバックを得るためにコードの時間を計測すると、バックグラウンド プロセスが起動するため、実行ごとにかなり大きな差異が生じることがよくあります。

コードは利用可能なすべてのスレッドを使用しているため、いずれかのスレッドにバックグラウンド タスクの負荷がかかると、他のすべてのスレッドが待機状態になります。

ここで質問なのですが、バックグラウンド/重要でないタスクを一時的に停止して、システムを一種のベンチマーク モードにする簡単な方法があるかどうかです。Bash スクリプト、パッケージ、組み込みオプションなど、何でも結構です。

答え1

方法の 1 つは、システムをマルチユーザー ターゲット (つまり、グラフィカル セッションなし) に切り替えて、実行中のプロセスを約 50 に減らすことです。

sudo systemctl isolate multi-user.target

またはシングルユーザーに切り替えることもできます(約10個のプロセスが実行されます)

sudo systemctl isolate runlevel1.target
# Enter
su -l your-user-name

そして、これらのランレベルでアプリケーションを実行します。


ベンチマークが終了したら、次の方法でグラフィカルセッションに戻ります。

sudo systemctl isolate graphical.target

関連情報