- Hardinfo — экспресс-тест быстродействия
- Оставьте комментарий Отменить ответ
- 6 Useful Linux Apps to Stress Test and Benchmark CPU Performance
- HardInfo (Benchmark Only)
- Sysbench (Benchmark Only)
- Stress (Stress Test Only)
- Stress-ng (Stress Test Only)
- S-tui (Stress Test Only)
- 7-Zip (Benchmark Only)
- Conclusion
- About the author
- Nitesh Kumar
- CPU стресс-тест в Linux, как нагрузить все ядра микропроцессора
- Утилизация мощности двух ядер CPU (40%+70%)
- Наблюдаем за нагрузкой отдельных ядер CPU
- Утилизация 100% мощности одного или нескольких ядер CPU
- Другие связки из простых команд для загрузки ЦПУ
- Грузим процессор на 100% используя pbzip2
- Stress — пакет комплексных нагрузочных тестов ПК
- В заключение
Hardinfo — экспресс-тест быстродействия
Алексей Федорчук
FOSSBook, Ноябрь 21, 2012
Программа hardinfo предназначена для получения информации о системе, существенно более полной, чем даёт, например, KinfoCenter. Плюс к этому она позволяет на скорую руку оценить быстродействие компьютера в попугаях нескольких видов. Это утилита графического режима, основанная на Gtk2.
На официальном сайте доступны исходные тексты hardinfo, а также сценарий для автоматической установки её в качестве бинарного пакета. Кроме того, в виде бинарных пакетов эта утилита существует для Debian, Ubuntu, Altlinux и Fedora.
Для openSUSE утилита hardinfo обнаруживается через поиск по OBS в одном из «домашних» репозиториев, malcolmlewis, откуда и может быть установлена, например, с помощью 1 Click install. После чего запускается из главного меню KDE через пункты Система -> Монитор.
После запуска в окне hardinfo можно видеть четыре секции:
- Computer — общая информация о машине, операционной системе, версии ядра и его загруженных модулях, файловых системах etc.;
- Devices — сведения о процессоре, памяти, накопителях и прочих устройствах;
- Network — перечень сетевых интерфейсов, данные об IP-соединениях, DNS-серверах, разделяемых каталогах и тому подобных материях;
- Benchmarks — тесты быстродействия и их результаты для данной машины.
Содержание первых трёх секций очевидно и в комментариях не нуждается — достаточно взглянуть на первый скриншот или на любой пункт другой секции, например, о накопителях:
А вот о содержимом секции Benchmarks стоит сказать несколько слов. Она включает следующие тесты:
- CPU Blowfish — тест быстродействия при использовании криптографического алгоритма, разработанного Брюсом Шнайером и реализующего блочное симметричное шифрование.
- CPU CryptoHash — вычисление криптостойкой хэш-функции.
- CPU Fibonacci — вычисление функции Фибоначчи с использованием рекурсивных кодирования и параллельного программирования.
- CPU N-Queens — тест из комбинаторики, решение шахматной задачи размещения N ферзей на шахматной доске размером NxN клеток так, что чтобы ни один ферзь не мог напасть на любого другого.
- FPU FFT — тест на быстрое вычисление дискретного преобразования Фурье.
- FPU Raytracing — расчёт трассировки лучей при 3d рендеринге.
Результат в большинстве тестов даётся в секундах и, соответственно, чем он меньше — тем лучше. Обратная картина — только для CPU CryptoHash, где результат указывается в MiB/sec:
В качестве объектов для сравнения предлагаются некие абстрактные машины на PowerPC 740/750 и Celeron, с тактовыми частотами 280 МГц и 1,5 ГГц, соответственно. Думаю, обе давно утратили актуальность. Поэтому, как уже было сказано, все тесты можно рассматривать как измерения в попугаях разных видов, занимающихся целочисленными вычислениями (первые четыре вида) и вычислениями с плавающей точкой (последние два). А сравнивать попугаи между, скажем, машиной старой и новоприобретённой, дабы проникнуться законной гордостью от очередного апгрейда. Впрочем, как мы скоро увидим, сравнение можно выполнить и в мировом масштабе.
Поглядев на результаты тестов и порадовавшись производительности своей машины (или — огорчившись отсутствием оной), можно сгенерировать отчёт — для всех секций или, скажем, только для тестов:
Отчёт будет создан в формате html (по умолчанию — в /tmp , но, разумеется, можно записать его и в любое другое место). И по окончании генерации будет предложено открыть его в браузере. Где он будет выглядеть примерно так:
Затем свои результаты можно внести в центральную базу данных. Для этого в пункте Information главного меню надо выбрать Network Updater и в появившейся панели нажать кнопку Synchronize:
Теперь остаётся только сравнить свои результаты с накопленными прогрессивным человечеством. Для чего достаточно нажать кнопку Refresh на панели инструментов и пройтись по всем позициям списка тестов:
Что, собственно, и составит предмет радости или огорчения.
Оставьте комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Источник
6 Useful Linux Apps to Stress Test and Benchmark CPU Performance
This article will list various utilities to perform CPU benchmarks and stress tests on your system. While many of these apps provide options to test other hardware components as well, this article will focus on CPU tests only.
HardInfo (Benchmark Only)
HardInfo is a graphical utility for Linux that displays information about various hardware components in your PC like processor, RAM modules, sensors, hard drives and so on. It also supports exporting a detailed report about your system in txt or html format so that you can share it with your friends, compare it with other systems or use it for debugging purposes.
Besides showing general information about your system, HardInfo provides a few benchmark tools to measure the performance of your hardware. As far as CPU benchmarking is concerned, it includes five methods: CPU Blowfish, CPU CryptoHash, CPU Fibonacci, CPU N-Queens and CPU Zlib.
To install HardInfo in Ubuntu, run the command below:
To run a CPU benchmark, click on any benchmark method under “Benchmarks” section, as shown in the screenshot below.
Once the benchmark has finished, HardInfo will tell you if a lower or higher score is better. It also displays scores for CPUs made by other vendors for easy comparison.
Sysbench (Benchmark Only)
Sysbench, as the name suggests, is a command line app to run benchmarks on your system. Written in Lua, Sysbench is mainly intended for doing database benchmarking. However it includes options to test CPU, memory and file throughput as well.
To install Sysbench in Ubuntu, run the command below:
To start a benchmark using Sysbench, run the following command:
- “cpu” is the test type
- “threads” is the number of threads created by sysbench to perform multi-threaded benchmarking
You can use other command line switches to customize the benchmark behavior. More details about these options can be found here.
Once the test has finished, you can use the “events per second” variable to gauge the performance of your CPU. Unfortunately unlike HardInfo, Sysbench does not provide benchmark results of other CPU models made by various hardware vendors out there. If you have multiple computers, you can run the test on both and then compare the numbers. Higher is the number of events per second, better is the CPU performance.
Stress (Stress Test Only)
Stress is a simple command line utility to conduct CPU, memory and disk input-output stress tests.
You can install stress in Ubuntu by running the following command:
Note that Stress will not run any benchmark test on your system, instead it will consistently hammer the CPU and make it run at 100%. You are advised to close all the running apps before doing a test. Running Stress for a longer period can crash the system and you may need to do a hard reboot to recover the system.
You can start the stress test by running the command below where “cpu” refers to the number of threads used for performing the test. To stop the test anytime, close the terminal or press to make it stop.
I used Stress extensively when I built a new PC for myself a year back. It helped me greatly in tweaking fan speeds in BIOS for improved cooling.
Stress-ng (Stress Test Only)
Stress-ng is an updated implementation of Stress tool mentioned above. It is much more advanced and includes hundreds of tests to put a load on your system.
You can install Stress-ng in Ubuntu by running the command below:
Note that the warning mentioned above applies to this tool as well. Running stress-ng for a long time can freeze your system making it recoverable through a hard reboot only.
You can start the stress-ng test by running the command below where “cpu” refers to the number of threads used for performing the test. To stop the test anytime, close the terminal or press to make it stop.
Running the command above will run around 70 CPU tests sequentially. However, you can run all of these tests in parallel by running the command below:
It is possible to customize the command using many other command line switches, but explaining all of them here is beyond the scope of this article. You can explore these options from here.
S-tui (Stress Test Only)
S-tui is a CPU resource monitor that uses a terminal based graphical interface to display data and graphs.
It supports CPU stress testing using the Stress app listed above while giving you a nice bird’s eye view on the various CPU parameters like frequency, temperature and utilization.
S-tui can be installed in Ubuntu by running the command below:
As it is just a terminal based frontend for Stress command line app, be vary of system lock up during high usage.
Run the following command to launch it. To stop the test anytime, close the terminal or press to make it stop.
7-Zip (Benchmark Only)
7-Zip is a file compression tool that can do extreme levels of compression on files and store them in a reduced size 7z archive format. 7-Zip comes with a built-in option to run LZMA compression benchmarks for measuring CPU performance.
To install 7-Zip in Ubuntu, run command:
To run single threaded benchmark, use the command below:
Multi-threaded benchmarking can be run by using the following command:
The results are in million instructions per second (MIPS). You can compare these results with other CPU models from here.
Conclusion
These are some of the free and open source utilities that can run CPU benchmarks on your system. In the good old days, running Flash Player in Firefox was an excellent way to stress test your CPU. These days, however, all the apps mentioned above do a pretty good job.
About the author
Nitesh Kumar
I am a freelancer software developer and content writer who loves Linux, open source software and the free software community.
Источник
CPU стресс-тест в Linux, как нагрузить все ядра микропроцессора
Иногда возникает необходимость выполнить частичную или полную загрузку микропроцессора на персональном компьютере или сервере. Это может понадобиться для стресс-тест системы, для проверки стабильности работы, оценки эффективности системы охлаждения и измерения потребляемой компьютером или сервером мощности под нагрузкой.
В статье приведены конструкции из простых и всегда доступных консольных команд в GNU Linux, которыми можно нагрузить одно или все ядра процессора. Также рассмотрим компактный но очень мощный пакет для стресс-тестов под Линукс, который можно установить одной командой. Все подробно и с примерами!
Утилизация мощности двух ядер CPU (40%+70%)
Опытный пользователь операционной системы (ОС) GNU Linux не раз сталкивался со случаями когда простая команда с небольшой ошибкой могла загрузить микропроцессор под самую завязку. Этим мы и воспользуемся, только у нас будет все продумано и с конкретной целью.
Сперва рассмотри достаточно интересную связку из двух отдельных команд, соединенных через конвейер (символ «|», перенаправление ввода-вывода).
Ее суть: читаем случайные данные из файла «/dev/urandom» используя утилитку ‘dd’, через конвейер «|» перебрасываем эти считанные данные программе-архиватору «bzip2», указываем максимальный уровень сжатия (9) и выводим данный в «черную дыру», то есть в никуда — для этого есть специальный файл «/dev/null».
Таким образом, пока команда запущена (прервать ее можно нажав CTRL+C), архиватор будет сжимать непрерывный поток случайных данных и пересылать результат в вечно пустой файл. На физические диски и файловые системы ничего не пишется, а процессору есть немало работы.
Данная связка из команд загрузит два ядра CPU (Central Processor Unit) таким образом:
- «dd if/dev/urandom» — загрузит одно ядро примерно на 40%;
- «bzip2 -9» — загрузит второе ядро примерно на 70%.
Для чтобы загрузить дополнительные ядра микропроцессора нужно открыть дополнительные окна терминала и запустить несколько клонов данной команды.
Наблюдаем за нагрузкой отдельных ядер CPU
Для удобного наблюдения за нагрузкой на каждое из ядер микропроцессора можно использовать программу «System Monitor», которая входит в состав рабочего окружения KDE. Программа с похожим функционалом и таким же названием есть и в среде GNOME.
Рис. 1. Мониторим загрузку двух ядер CPU в GNU Linux используя System Monitor из KDE.
На рисунке результат загрузки двух ядер связкой из двух команд которая были рассмотрена выше. Одно ядро — оранжевй график (70%), другое ядро — желтый график (40%).
С такой же задачей, только в консоли, отлично справляется утилита «htop», которая должна быть знакома почти каждому системному администратору. Если у вас она не установлена то исправить ситуацию можно командой:
Для запуска этого консольного монитора ресурсов используем одноименную команду:
Ниже приведен пример работы этого консольного монитора ресурсов, загружены два ядра все той же связкой из команд dd и bzip2.
Рис. 2. Мониторинг нагрузки двух ядер CPU в GNU Linux используя HTOP.
Что же означают в HTOP красные и зеленые отметки в прогресс-барах для ядер CPU? — все проще простого:
- зеленый цвет — количество ресурсов процессора, выделенные под процессы с нормальным приоритетом;
- красный цвет — ресурсы CPU, выделяемые процессам с приоритетом ядра.
О том как узнать частоту установленного микропроцессора(ров), режимы работы ядер и другую полезную информацию я писал в одной их предыдущих статей о CPU в GNU Linux.
Утилизация 100% мощности одного или нескольких ядер CPU
Для этой цели можно использовать команды, которые обрабатывают непрерывный поток данных на очень высокой скорости, без периодических колебаний нагрузки как в случае с bzip.
Скажем микропроцессору «yes». только очень много раз!
С виду простая и безобидная команда, а нагрузит она одно ядро CPU примерно на 100% и без скачков. Суть этой конструкции проста: выводим слово «yes» бесконечное количество раз и перенаправляем вывод в «черную дыру» — /dev/null.
Рис. 3. Нагружаем одно ядро CPU на 100% командой yes в GNU Linux.
Другие связки из простых команд для загрузки ЦПУ
Пример с командой «yes» — это наиболее простой и доступный способ нагрузить одно или несколько ядер центрального процессора.
Кроме того, можно поэкспериментировать и с другими командами и программами, которые по умолчанию доступны почти в каждом дистрибутиве GNU Linux.
Суть построения подобных связок из команд следующая:
- Что-то откуда-то беспрерывно считываем и перенаправляем в /dev/null;
- Выполняем бесконечный анализ данных какой-то программой или утилитой.
Следующая связка позволяет загрузить одно ядро под самый потолок:
Рис. 4. Нагружаем одно ядро CPU по максимуму на 100% командой cat в GNU Linux.
Суть команды: при помощи команды «cat» выполняем вывод бесконечного потока дынных из псевдо-устройства «/dev/zero» (генерирует нули, 000) в пустоту «/dev/null»;
Как видим процесс у нас выполняется с высоким приоритетом (приоритет ядра ОС) и требует для выполнения всю вычислительную мощность одного процессорного ядра.
Для считывания данных из файла псевдо-устройства можно использовать программу «dd».
Суть команды: с помощью программы «dd» (if — input file, of — output file) читаем поток случайных данных из /dev/urandom и отправляем их в «никуда» — /dev/null.
Результат мониторинга загрузки ядер в HTOP получим такой же как и на рисунке 4.
А теперь загрузим процессор подсчетом контрольной суммы бесконечного файла с нулями:
В htop мы сможем видеть то же то и на рисунке 3, правда плотность загрузки будет более стабильной.
Грузим CPU просчитывая MD5-сумму бесконечного потока случайных данных:
График загрузки будет идентичен тому что на рисунке 4, микропроцессор загружен процессом, который работает на уровне ядра ОС, очень высокий приоритет.
Грузим процессор на 100% используя pbzip2
В начале статьи был представлен пример с bzip2, которая поотдельности может нагрузит одно ядро микропроцессора. Существует также мультипоточная реализация данного архиватора — pbzip2.
Установить pbzip2 можно командой:
Для нагрузки всех доступных ресурсов процессора достаточно запустить следующую команду:
Вместо источника потока «/dev/zero» можно использовать «/dev/urandom» или же собрать еще более простую конструкцию:
Stress — пакет комплексных нагрузочных тестов ПК
О применении утилиты «stress» в GNU Linux я уже писал в статье о самостоятельном ремонте ПК. Там она использовалась в связке с другими программами для получения такого себе нагрузочного стресс-набора на подобии AIDA64 под Windows.
Этой программой можно нагрузить сразу все доступные ядра CPU или же указать конкретно сколько ядер должны трудиться в поте лица. Для установки пакета ‘stress’ достаточно выполнить команду:
Итак, запускаем программу с указанием загрузить 4 ядра микропроцессора:
Результаты производительности приведены ниже.
Рис. 5. Нагружаем все ядра CPU по максимуму на 100% командой stress в GNU Linux.
Рис. 6. Смотрим результат работы программы stress в htop.
В заключение
Как видим, нагрузить отдельное ядро процессора или же несколько ядер даже без установки специального программного обеспечения в GNU Linux — задача вполне реальная. Каждый может выбрать себе связку команд, которую легко запомнить и использовать. К тому же, строить подобные связки зная принцип их работы можно самостоятельно буквально на лету.
Но все же, установив небольшой программный пакет «stress» можно решить задачу комплексно и с дополнительными возможностями. Еще для нагрузки и тестов Linux системы можно использовать мощный комбайн «phoronix-test-suite», который придется ставить отдельно (в репозитории Debian его нет), но это уже другая история.
Источник