Ищу способ остановить фоновые задачи/создать режим бенчмарка

Ищу способ остановить фоновые задачи/создать режим бенчмарка

Я использую 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

Связанный контент