Linux cpu stress tests

How to Stress Test CPU in Linux

If you prefer using a GUI solution over the terminal, I have just the easiest method for you to stress-test your system.

There is a GUI utility GtkStressTesting, which helps you stress test and monitor temperature simultaneously. It provides various presets to stress-test the system and provides an ability to choose how many cores you want to work with during the test.

GtkStressTesting is available as a Flatpak, so if you haven’t already enabled Flatpak support, refer to our Flatpak setup guide.

Once you have enabled Flatpak support, the GtkStressTesting utility can be installed using the following via the terminal (if not software center)

flatpak install flathub com.leinardi.gst

After the installation, you can start the GtkStressTesting utility from the system menu.

Here, I would recommend you click on the Read all button and enter the sudo password so the utility can fetch all the information of your system:

Allow read all premissions for GtkStressTesting

From here, you can choose how long you want to stress test your system (you can always stop the process if the temp gets too high) and choose the max number available in the Workers: Auto .

I went for 12 cores and 5 mins of stress testing:

choose time and cores to stress test the CPU in linux

Once you are done, click on the start button and monitor the temperatures, and if they reach beyond 90, stop the stress testing.

My system went to 85 max during stress testing:

stress test Linux CPU usng GUI

Pretty easy way to stress test the CPU. Isn’t it? 😉

Stress test Linux CPU using the Terminal

You’d need two utilities to stress test using a terminal: s-tui and stress.

You can get these tools installed from the default repositories or using pip. It is easier with default repositories if you are okay with using an older version of the tool (a tad bit).

Here are the commands that will help you install them on popular Linux distros:

For Ubuntu/Debian base:

sudo apt install s-tui stress 

For Arch Linux:

sudo pacman -S s-tui stress

For Fedora/RHEL:

sudo dnf install s-tui stress

If you want to use pip for the latest version, here is the command:

Once you are done with the installation, launch the s-tui utility in the terminal:

And you would be met with the following:

monitor clock speed, load and CPU utilization in Linux

You can use the mouse or keyboard arrow keys to navigate through the menu, so click on the Stres options and choose how long you want to stress test the system (in seconds):

Читайте также:  Создаем загрузочную флешку linux mint

set time for how long to stress test CPU in Linux

And finally, select the Stress option, and it will start the stress testing for a specified period:

stress test Linux CPU using terminal

And if the temperature gets out of control, you can click on the Quit button to stop the stress test manually. Additionally, if you want to store the data in the .csv format, the tool gives you the feature.

To store the data, all you have to do is append the -c flag while starting the s-tui utility as shown:

And if you want to save the file with a name to your liking, you’d have to use the —csv-file flag as shown:

For example, here, I named the file Hello.scv :

You can explore more about the tool on its GitHub page.

Suggested Read 📖

Happy System, Happy Life 😁

Not every user realizes the benefits of a stress test. Sometimes it scares them off with the idea of their system reaching its limits for no reason.

However, the test will help you quickly evaluate and monitor your system’s condition. Things like abnormal temperature spikes and CPU being unable to handle what it is should help you identify hardware issues early on.

In either case, you can refer to our temperature monitoring resource if you want to keep your CPU monitor in check without performing stress tests.

You can also check out some of the system monitoring tools or htop alternatives for Linux to keep an eye on your system resources.

💬 What do you think about stress testing your CPU in Linux? Do you think we should do it? Share your thoughts on it in the comments below.

Источник

Стресс тест процессора в Linux

Прогнал я тест Linpack и задумался: а не пора ли мне поменять термопасту на своём ноутбуке?

Да, по результатам нескольких тестов подряд (не буду захломлять статью картинками) видно, что процессор уходит в троттлинг (пропуск тактов и сброс частоты при нагреве), но вот, как быстро он начинает это делать?

Стресстест процессора в терминале Linux

Задавшись этим вопросом и поискав в интернете утилиты, я понял, что основная проблема в решении поставленной мной задачи — одновременный запуск, как минимум пары утилит и разбегающиеся глаза в двух окнах. И я пришёл к выводу, что мне больше подходит консольный вариант, нежели разноцветные окна открытых программ.

sudo apt install sysbench

sysbench —num-threads=4 —test=cpu —cpu-max-prime=100000 run

  • —num-threads=4 — это количество потоков, у меня двухъядерный четырёхпотоковый Intel® Core™ i7-640M, поэтому 4;
  • —cpu-max-prime=100000 — это максимальное количество выполненных операций, я выставил в 100000, т.к. по умолчанию — 10000, слишком быстро завершают тест.
Читайте также:  Linux монтирование дисков при запуске

Потом я перешёл на Linpack. Так как процессор у меня от Intel и я имею некоторую долю лени (лень — двигатель прогресса), то я взял, скачал и распаковал готовый Intel-овский Linpack, предварительно создав в домашнем каталоге директорию linpack:

mkdir ./linpack
cd ./linpack
wget http://registrationcenter-download.intel.com/akdlm/irc_nas/9752/l_mklb_p_2018.3.011.tgz
tar -xvzf ./l_mklb_p_2018.3.011.tgz

Для AMD процессоров такой вариант я бы не стал пробовать, так как компилятор от Intel вставляет закладки, проверяющие процессор и если он не Intel. ну, подумаешь сотню-другую лишних инструкций процессор выполнит и заведомо проиграет в производительности. Для AMD лучше собрать Linpack из исходников, например, из этих. В данной статье сборку из исходников рассматривать не буду — читайте README в source code.

Вернёмся к Intel-овскому Linpack-у. Там много чего лишнего и мне не нужного, а то, что нужно рассмотрю относительно версии 2018.3.011. Сразу же перейду в нужную директорию, чтоб потом не набирать длинные команды:

Так как по умолчанию Intel-овский Linpack заточен под тестирование серверных Xeon-ов, создадим свой файл, который будет использоваться в качестве входных опций — просто уменьшим количество тестов, иначе устанем «пару-тройку дней» ждать завершения теста. У меня Linux Mint LMDE 3, поэтому я использую текстовый редактор xed, да и нравится он мне бОльшим функционалом, особенно, когда из-под root-а его запускать — он цвет на красный меняет. И так, создаём в этой же директории, в которую перешли, файл, например, my_test:

И в созданный файл копируем следующее содержимое:

Shared-memory version of Intel(R) Distribution for LINPACK* Benchmark. *Other names and brands may be claimed as the property of others.
Sample data file lininput_xeon64.
5 # number of tests
1000 2000 5000 10000 20000 # problem sizes
1000 2000 5008 10000 20000 # leading dimensions
4 2 2 2 1 # times to run a test
4 4 4 4 4 # alignment values (in KBytes)

Ну, и собственно запуск Linpack с созданным файлом:

./xlinpack_xeon64 -i ./my_test

Можно ещё заюзать stress-ng или stress, но поставленной мной задачи это всё-равно не решает. Вывода температуры, частот и времени от начала старта эти утилиты мне не показывают.

Температуру может показать sensors — подробнее про установку этой утилиты здесь. И эта утилита понадобится в дальнейшем рассмотрении моего вопроса. Линукс — велик и могуч: одна и та же задача может решаться по-разному. За Си мне лень было браться и я написал недостающую мне часть на BASH, ибо строк получилось не так уж и много. Без установленной sensors мой скрипт работать не будет. Фиксацию троттлинга естесственно не стал писать — его и так будет видно по сбросу частоты и температуре. Вот сам скрипт:

Читайте также:  Установка kafka на linux

Сильно не ругайте за скидывание управляющих символов в stderr (1>&2), но это дело привычки, если вдруг потом вывод скрипта в файл отправлять, а там все эти ESC-апе последовательности точно не нужны, вот так и будет терминал цветным, а файл чистым. Что-то я отвлёкся.

Я создал файл chk в директории с linpack-ом и записал скрипт в него, Вы можете сделать тоже самое, за исключением xed, если у Вас его нет:

И собственно то, ради чего всё затевалось — тест Linpack cо скриптом:

./chk ./xlinpack_xeon64 -i ./my_test

Да, я вижу, одно ядро нагрелось до критического TDP в 105°C за 86 секунд, но это мне ни о чём не говорит, а вот то, что с 50°C до 80°C процессор нагревается за 2 секунды — это уже показатель: термопасту точно пора менять — два года не менял, а вот с системой охлаждения останется вопрос, который проявят тесты после замены термопасты и термопроводящих прокладок на моём ноутбуке.

Почему именно 80°C я взял за отправную точку? Да просто потому, что именно эта температура заложена в BIOS, как температуры начала скидывания частот, да ещё и начало включения кулера выставлена в 55°C в угоду энергосбережению, но BIOS — InsydeH20, да ещё и с проверкой своей хэш-суммы и белым списком девайсов — та ещё головная боль. будет программатор — займусь им вплотную.

Скрипт писал на скорую руку и с ориентиром на Linpack, но он так же свободно работает и с другими консольными утилитами. Вот запуск с вышеизложенным sysbench:

./chk sysbench —num-threads=4 —test=cpu —cpu-max-prime=100000 run

Как видно из скриншота sysbench не даёт полную нагрузку на процессор, в отличии от Linpack-а.

Вот запуск с утилитой stress (подробнее про stress — здесь):

Естественно выход/окончание теста с утилитой stress осуществляется вручную по CTRL+C, отсюда и Error: 1 выведенная моей переменной PS1 из-за подобной реализации выхода из скрипта через exit 1.

Скрипт можно запустить и без опций, но тогда он только температуру и частоты в почти реальном времени показывает:

В любом случае выход из скрипта осуществляется автоматически, по окончании теста или можно выйти, нажав CTRL + C:

В общем: поставленную для себя задачу я решил и даже лучше — появилась целая надстройка над тестовыми утилитами. Осталось ноутбук разобрать и поменять таки термопасту с прокладками: как вспомню — аж страшно становится.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Оцените статью
Adblock
detector