Linux hardware stress test

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:

Читайте также:  Linux mint настройка nvidia

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):

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 – утилита stress-ng

Для организации и проведения нагрузочного стресс-тестирования в Linux-системах существует утилита stress-ng. С помощью неё несложно сгенерировать реальную рабочую нагрузку на тестируемые подсистемы и, соответственно, оценить её возможности. Утилита, традиционно для Linux, предоставляет для работы интерфейс командной строки. Однако, это ни в коей мере не делает её неудобной. Со своими задачами она справляется на «отлично». В данной статье приведены инструкции, отражающие основы работы с утилитой stress-ng для некоторых самых распространённых ситуаций в стресс-тестировании систем на основе Linux.

Читайте также:  Не грузится диск с linux

Основные особенности и возможности stress-ng

Возможности, которыми обладает утилита stress-ng, довольно широки. Об этом свидетельствует огромное количество всевозможных опций, которыми её наделили разработчики.
Но ключевой особенностью stress-ng является то, что это полноценный инструмент со встроенными тестами. В отличие от многих других аналогов, при выполнении теста не производится обращений к сторонним и/или внешним ресурсам. Таким образом, stress-ng абсолютно самодостаточна. Практически в любом дистрибутиве Linux она доступна в стандартном репозитории и устанавливается с помощью системы управления пакетами (СУП) дистрибутива. Например, в Ubuntu:

$ sudo apt-get install stress-ng

Кроме всего прочего, stress-ng в своём составе очень качественные тесты для тестирования процессоров, в совокупности позволяющие наиболее полно сгенерировать нагрузку на CPU, используя такие методы как целочисленные и с плавающей запятой, битовые операции, комплексные вычисления и т. д.

Синтаксис stress-ng

Как уже было отмечено, stress-ng имеет настолько огромный набор опций, что в рамках данной статьи целесообразнее остановиться лишь на основных, позволяющих протестировать все основные подсистемы: CPU, виртуальную память, а также дисковую подсистему.
Синтаксис stress-ng довольно прост:

Задаёт конкретный метод тестирования виртуальной памяти. По-умолчанию выполняются все доступные для данной категории тесты, последовательно друг за другом. Подробнее в официальном руководстве по команде man stress-ng.

—vm-method mЗадаёт конкретный метод тестирования виртуальной памяти. По-умолчанию выполняются все доступные для данной категории тесты, последовательно друг за другом. Подробнее в официальном руководстве по команде man stress-ng.

Основные опции stress-ng

В таблице ниже указаны основные опции утилиты

Опция Значение
—class name Задаёт тип теста. В качестве name указывается например cpu, memory, vm, io и другие.
—metrics Указывает, что по завершению теста должна быть выведена статистика основных метрик, отражающих поведение системы во время теста.
—metrics-brief То же, что и —metrics, но выводит ненулевые метрики.
—cpu-method method Задаёт метод генерации нагрузки для процессора. По-умолчанию выполняются все доступные для данной категории тесты, последовательно друг за другом. Более подробно об этой опции можно узнать, выполнив команду man stress-ng.
—cpu N Запускает для стресс-теста процессора N стрессоров для каждого его потока.
—cpu-ops N Указывает, через какое количество bogo-операций необходимо остановить тест CPU.
—hdd-ops N Указывает, через какое количество bogo-операций необходимо остановить тест жёстких дисков.
—hdd-bytes N Записывает N байт для каждого процесса работы с жёстким диском. По-умолчанию равно 1 Гб.
—vm N Запускает для стресс-теста виртуальной памяти N стрессоров.
—vm-bytes N Размещает N байт для каждого процесса работы с памятью. По-умолчанию равно 256 Мб. Объём также может быть указан в процентах от общего объёма виртуальной памяти в системе. Значения можно задавать в бфйтах, килобайтах, мегабайтах и гигабайтах, используя суффиксы b, k, m и g соответственно.
—sequential N Задает N количество потоков для выполнения тестов, если N не указано или равно 0, то количество потоков равно числу процессоров.
Читайте также:  Отключение спящего режима линукс

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

  • что бы запустить несколько экземпляров каждого стресс-теста используется опция —all N, где N – необходимое количество экземпляров;
  • для установки таймаута, т. е. времени продолжительности стресс-теста используется опция —timeout.

Тестирование процессора

Для подавляющего большинства ситуаций классическим примером стресс-теста можно использовать тест, выполняемый следующей командой:

$ stress-ng --cpu 16 --cpu-method matrixprod --metrics --timeout 60

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

Естественно количество потоков следует задавать в соответствии со спецификацией используемого процессора.

Тестирование дисковой подсистемы

Для проведения стресс-тестирования накопителей, таких как жёсткие диски можно для начала провести низкоуровневый тест ввода вывода

$ stress-ng --sequential 0 --class io --timeout 60s --metrics-brief

Вывод команды будет следующим

Еще один стресс-тест дисков можно выполнить командой

$ stress-ng --hdd 5 --hdd-ops 100000

В данном случае будет запущено 5 стрессоров для жёстких дисков, которые будут остановлены по завершении 100 тыс. bogo-операций.

Во время тестирования можно смотреть загрузку командой iostat

Тестирование памяти

Что бы провести стресс-тест памяти используйте команду

$ stress-ng --sequential 0 --class memory --timeout 60s --metrics-brief

После окончания мы получим результат проверки приблизительно следующего вида

Комплексное тестирование

Если необходимо провести комплексное стресс-тестирование, можно задействовать работу нескольких основных подсистем вместе одной командой:

$ stress-ng --cpu 4 --io 4 --vm 1 --vm-bytes 1G --timeout 60s --metrics-brief

Эта команда запустит тест для CPU в 8 потоков, тест виртуальной памяти с размещением в ней одного гигабайта данных, а также 4 стрессора для тестирования операций ввода/вывода.

Что бы запустить тестирование всего «железа», используется команда

$ stress-ng --sequential 0 --timeout 60s --metrics-brief

Эта команда запустит все тесты. После выполнения результат будет выведен в консоль. Во время выполнения команды лучше компьютер не трогать

Заключение

В заключение стоит ещё раз отметить, что утилита stress-ng по своим возможностям очень универсальна и позволяет качественно протестировать любую систему. Приведенные выше примеры охватывают наиболее распространённые ситуации по нагрузочному тестированию Linux-систем. Для проведения специфичных или более сложных тестов рекомендуется обращаться к официальному руководству по использованию утилиты, доступному по команде man stress-ng.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Похожие записи:

Источник

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