我正在使用 Ubuntu 20.04,並致力於一些 CFD 程式碼的效能最佳化。當對我的程式碼進行計時以快速回饋某些修改是否有益時,由於後台進程的啟動,通常會出現相當大的運行差異。
由於程式碼正在使用所有可用線程,因此任何一個承擔後台任務負擔的線程都會導致所有其他線程等待。
現在我的問題是,是否有一種快速簡便的方法可以暫時停止後台/非必要任務,從而使我的系統進入一種基準模式。 Bash 腳本、套件、內建選項,一切都受到歡迎。
答案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