Как проверить производительность ubuntu

Обновлено: 03.07.2024

Оригинал: GPU benchmarking and stress testing in Linux
Автор: Arnab Satapathi
Дата публикации: 29 марта 2017 г.
Перевод: А.Панин
Дата перевода: 26 апреля 2017 г.

Хотите измерить пиковую производительность своего графического ускорителя? Задумываетесь о корректности работы своего графического ускорителя под максимальной нагрузкой?

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

1. GLXGears из пакета mesa-utils

Утилита GLXGears с открытым исходным кодом является частью пакета утилит Mesa для тестирования поддержки технологии OpenGL и доступна в составе пакета программного обеспечения mesa-utils в дистрибутивах Debian/Ubuntu. Она может использоваться в качестве самодостаточного инструмента для тестирования производительности графического ускорителя и выводит число кадров в секунду (FPS) сразу же после запуска с помощью следующей команды:

Число кадров в секунду не будет превышать 60, но производительность любого приложения, работающего с трехмерной графикой, может быть значительно улучшена в случае его запуска с переменной окружения vblank_mode=0 ; в моем случае удалось получить значение, равное 6000 кадрам в секунду при использовании графического ускорителя Intel HD 3000.

2. GLMark2 от команды разработчиков проекта Linaro

Это еще одна популярная утилита с открытым исходным кодом, предназначенная для стресс-тестирования и тестирования производительности графических ускорителей, которая была создана на основе исходного кода утилиты GLMark . Она доступна на платформах Linux и Android.

В официальных репозиториях дистрибутива Ubuntu размещены бинарные пакеты программного обеспечения с компонентами утилиты GLMark2, поэтому при ее установке в Ubuntu или любом производном дистрибутиве не должно возникнуть никаких проблем. Достаточно выполнить следующую команду для установки ее новейшей версии:

К сожалению, бинарные пакеты с компонентами GLMark2 не добавлены в репозитории дистрибутива Debian, но вы в любом случае можете скомпилировать новейшую версию GLMark2 для дистрибутива Debian самостоятельно , после чего просто установить ее в систему.

Тестирование: теперь нужно просто выполнить команду glmark2 с помощью терминала, в результате чего откроется окно со стандартным разрешением 800x600 пикселей, в котором будут отображаться различные трехмерные объекты, такие, как фигурка лошади, кота, кролика и так далее. Процесс тестирования может растянуться на 8 минут, после чего будут выведены результаты тестирования. В моем случае графический ускоритель Intel HD 3000 набрал около 1000 баллов.


Стресс тестирование графического ускорителя: для работы GLMark2 требуется достаточное количество ресурсов графического процессора, поэтому зацикливание процесса может рассматриваться в качестве своеобразного режима стресс-тестирвоания графического ускорителя.

Тестирование производительности графического ускорителя производства NVIDIA с помощью GLMark2: я пользуюсь ноутбуком с дискретным графическим ускорителем NVIDIA Optimus (GeForce GT 540M), поэтому просто не мог не попытаться протестировать производительность этого ускорителя с помощью GLMark2. Я пытался проводить тесты со всеми известными параметрами, но результаты были неизменно-ужасными. Графический ускоритель ни разу не набирал больше 446 баллов, хотя я провел 4 теста; возможно, утилита GLMark2 просто не совместима с аппаратным обеспечением производства NVIDIA.

Команды, которые я использовал для тестирования производительности дискретного графического ускорителя производства NVIDIA с помощью утилиты GLMark2:

3. Тест Furmark утилиты GPUTest от команды ресурса geeks3d

В результате откроется окно разрешением в 800x600 пикселей, с помощью которого будет выводиться сложный трехмерный объект, подобный представленному ниже.


При тестировании производительности графического ускорителя Intel 3000 HD я получил изменяющуюся рывками картинку с 9-10 кадрами в секунду.

И снова я попытался протестировать производительность дискретного графического ускорителя производства компании NVIDIA:

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

Программа GPUTest содержит реализации большого количества других тестов для тестирования производительности графических ускорителей, полный список которых размещен в файле README.txt. Попробуйте протестировать производительность вашего графического ускорителя с другими параметрами утилиты, пользуясь следующим правилом: чем меньше размер окна, тем больше производительность.

Существуют и другие более функциональные и сложные инструменты для тестирования производительности графических ускорителей от Unigine corp., такие, как Unigine Heaven , Unigine Vally и другие. Я не затрагивал их в данной статье, но вы можете самостоятельно загрузить их по данной ссылке и протестировать производительность своего графического ускорителя.

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

Пользователи редко задумываются о конфигурации и производительности используемого ими персонального компьютера. Обычно интерес к этой теме возникает в том случае, если пользователь увлечён сферой информационных технологий или если его не устраивает текущая производительность системы.

Однако, этот вопрос весьма важен, особенно если рабочая станция — ваше устройство, используемое для развлечений, отдыха и работы. В этой статье мы разберемся как выполнить тест производительности Linux и рассмотрим один из инструментов тестирования производительности — Phoronix Test Suite.

Что такое Phoronix Test Suite?

С помощью Phoronix Test Suite вы можете найти узкое место в своей конфигурации компьютера, сравнить вашу систему с аналогичными системами других пользователей, оценить общую производительность или производительность конкретных узлов ПК. Для всех этих целей пакет предлагает широкий выбор тестов, разделённый на несколько категорий:

  • System — тесты общей производительности системы.
  • Processor — тесты производительности процессора.
  • Memory — тесты производительности оперативной памяти.
  • Graphics — тестирование производительности видеокарты.
  • Disk — тесты производительности дисковой подсистемы.

Рассмотрим каждую категорию отдельно, составив список интересных бенчмарков.


Доступные тесты производительности

Тесты общей производительности системы (System):

  • PyBench — тест, вызывающий различные функции, реализованные с использованием Python. Позволяет оценить общую производительность системы Linux.
  • Blender — тест на основе программного обеспечения с открытым исходным кодом для создания 3D-сцен и 3D-моделей.
  • BRL-CAD — бенчмарк на базе кросс-платформенного программного обеспечения для твердотельного моделирования.
  • IndigoBench — тест на основе Indigo Renderer (фотореалистичного рендера для GPU и CPU, применяющего методики точного моделирования физики света).
  • LuxMark — мультиплатформенный тест OpenGL, основанный на LuxRender. Использует библиотеку OpenCL, содержит несколько различных сцен для рендеринга. LuxRender — система рендеринга для Blender и 3DS Max.
  • Ethminer — бенчмарк на основе Ethereum Ethminer (Майнер GPU для различных монет, основанных на алгоритме Ethash).
  • V-Ray — бенчмарк на основе рендера V-Ray от Chaos Group.

Тесты производительности процессора (Processor):

Тесты производительности памяти (Memory):

  • RAMspeed — тест памяти Linux, измеряющий производительность оперативной памяти.
  • SQLite — тест оперативной памяти, измеряющий время, необходимое для выполнения вставки данных в индексированную базу данных.

Тесты производительности дисковой подсистемы (Disk):

  • Iozone — тестирует производительность жёсткого диска linux, а также файловой системы.

Тесты производительности видеокарты (Graphics):

  • UNIGINE-Heaven — бенчмарк, вычисляющий среднюю частоту кадров в демо UNIGINE Heaven. Данное демо было выпущено в 2009 году.
  • UNIGINE-Valley — тест видеокарты linux, вычисляющий среднюю частоту кадров в демо UNIGINE Valley. Исходное ПО было выпущено в 2013 году и использует OpenGL 3.
  • UNIGINE-Superposition — тест видеокарты на основе демо UNIGINE Superposition, вышедшего в 2017 году. Исходный тест содержит режим для виртуальной реальности.
  • UE4-Atlantis — тест на основе демо на движке Unreal Engine 4. Тест вышел в 2015 году.

Тест производительности Linux

1. Установка Phoronix Test Suite


Далее предлагаем последовательность установки для операционной системы Ubuntu.

Открываем командный интерпретатор bash и выполняем следующие команды:

sudo apt install gdebi-core


Пакет, позволяющий устанавливать программное обеспечение из пакетов *.deb, установлен. Затем устанавливаем скачанную нами версию тестового программного обеспечения:

sudo gdebi phoronix-test-suite_9.4.0_all.deb

Данную команду надо выполнять из папки, в которой находится скачанный дистрибутив Phoronix Test Suite.



2. Подключение учётной записи

Вводим свой логин и пароль.


На этом установка Phoronix Test Suite завершена.

3. Просмотр доступных бенчмарков

Посмотреть доступные бенчмарки можно с помощью команды:

sudo phoronix-test-suite list-all-tests


Просмотреть установленные тесты можно с помощью команды:

sudo phoronix-test-suite list-installed-tests

Просмотреть неустановленные тесты можно с помощью команды:

sudo phoronix-test-suite list-not-installed-tests


4. Установка тестов

Устанавливаются нужные вам тесты с помощью команды:

sudo phoronix-test-suite install [ имя теста ]

sudo phoronix-test-suite install build-gcc


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

sudo phoronix-test-suite remove-installed-test [ имя теста ]

sudo phoronix-test-suite remove-installed-test build-gcc


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

sudo ph oronix-test-suite debug-install [ имя теста ]

sudo phoronix-test-suite debug-install build-gcc


5. Запуск тестов

Запуск чтобы запустить конкретный тест производительности linux из состава пакета выполните:

sudo phoronix-test-suite run [ имя теста ]

sudo phoronix-test-suite run pybench




Результат в браузере выглядит следующим образом


Запуск нескольких тестов одновременно производится командой:

sudo phoronix-test-suite run [ имя теста ] [ имя теста ] [ имя теста ] … [ имя теста ]

sudo phoronix-test-suite run scimark2 pybench


Запуск теста с отслеживанием ошибок производится командой:

sudo phoronix-test-suite debug-run [ имя теста ]

sudo phoronix-test-suite debug-run scimark2

6. Просмотр результатов тестов

Отобразить на экране список сохранённых результатов тестов Linux можно с помощью команды:

sudo phoronix-test-suite list-saved-results


Просмотреть конкретный результат можно с помощью команды:

sudo phoronix-test-suite show-result [ saved name ]

sudo phoronix-test-suite show-result 2002279-FIRE-TEST26009



Удалить результат можно с помощью команды:

sudo phoronix-test-suite remove-result [ saved name ]

sudo phoronix-test-suite remove-result 2002279-FIRE-TEST26009


Переименовать файл, содержащий результаты, можно следующей командой:

sudo phoronix-test-suite rename-result-file [ saved name ]

sudo phoronix-test-suite rename-result-file test-26-02-2020-02

Команда запрашивает новое имя файла:


Сохранить результаты в формате pdf можно с помощью команды:

sudo phoronix-test-suite result-file-to-pdf [ saved name ]




Объединить результаты из разных файлов в один можно с помощью команды:

sudo phoronix-test-suite merge-results [ saved name ] [ saved name ] … [ saved name ]


При этом имя для объединённого результата программа выбирает сама, отдельные старые результаты тоже сохраняются.

Внимание! При выполнении этой команды ссылка для просмотра результата в браузере у меня получалась нерабочей, но в дальнейшем результат было можно просмотреть с помощью команды

sudo phoronix-test-suite show-result [ saved name ].

Вставка результата в базу сайта производится следующим образом:

sudo phoronix-test-suite upload-result [ saved name ]



Загрузить конкретный результат текущего пользователя с сайта на ПК можно с помощью команды:

sudo phoronix-test-suite clone-result [ OpenBenchmarking ID test ]

sudo phoronix-test-suite clone-result 2002279-FIRE-TEST26009


Посмотреть загруженные с данного IP на сайт результаты тестов можно с помощью команды:

sudo phoronix-test-suite openbenchmarking-uploads



Для того, чтобы сформировать выборку тестов, необходимо установить флажки с названием файлов результатов и нажать на ссылку Compare Selected Results.


Результат сформированной выборки будет выглядеть так:


8. Настройка сетевого доступа для тестов

Следующая команда показывает параметры сетевых настроек для пакета:

sudo phoronix-test-suite network-info


Настроить параметры прокси-сервера для доступа к базам тестов в Интернет можно с помощью команды:

sudo phoronix-test-suite network-setup


9. Сервер тестирования компьютеров в локальной сети

Кроме того, пакет Phoronix Test Suite содержит сервер удалённого тестирования Phoromatic, с помощью которого можно организовать централизованное тестирование и хранение результатов тестов в локальной сети. Подробное рассмотрение данного сервера выходит за рамки нашей статьи.

Выводы

В статье мы рассмотрели как оценить производительность Linux и как пользоваться Phoronix Test Suite. Этот пакет содержит огромный выбор тестов на любой вкус. Нами порекомендованы некоторые из них для всестороннего тестирования персонального компьютера. Также были рассмотрены особенности работы с программой в командной оболочке. Было уделено внимание выгрузке результатов на сайт, комбинированию и просмотру результатов.

Теперь вы тоже можете присоединиться к сообществу тестеров Phoronix Test Suite. Делитесь своими результатами тестов в комментариях!

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

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

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



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

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

Начал я с sysbench:

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, слишком быстро завершают тест.


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

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

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

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

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


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

./xlinpack_xeon64 -i ./my_test

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

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

Сильно не ругайте за скидывание управляющих символов в 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 - здесь):

./chk stress --cpu 16

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

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

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

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

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.


Утилиты командной строки Linux могут все, в том числе и измерять производительность системы, но использование специально написанных для этого программ делает данный процесс более простым и "защищенным от дурака". Эти программы позволят вам выполнять воспроизводимые тесты на разных системах и конфигурациях.

Возможно, эти измерительные инструменты для Linux не так популярны, широко известны и "отполированы" как их эквиваленты в Windows , но они позволяют легко сравнивать разные системы и оценивать их производительность.

Hardinfo - измеряем скорость CPU

Hardinfo не устанавливается в Ubuntu по умолчанию, но его можно поставить с помощью Ubuntu Software Center - просто поищите по запросу "hardinfo" и установите профилировщик системы и приложение для измерения производительности. Если вы используете другой дистрибутив Linux, поищите в вашем пакетном менеджере по запросу "hardinfo".

После установки запустите профилировщик системы и приложение для измерения производительности из Dash.

Hardinfo отображает информацию о вашей системе, аппаратном обеспечении и его конфигурации. Используя функцию "Generate Report" вы можете сохранить в отчете информацию - в том числе и о производительности - которую посчитаете нужной.

Пролистайте список до конца и выберите один из шести тестов процессора. Hardinfo сравнит производительность вашего процессора с другими. Проверка производительности процессора может оказаться полезной в том случае, если вы пытаетесь сравнить разные компьютеры или оценить результаты "разгона".

GtkPerf - измеряем скорость GTK+

GtkPerf - еще одно средство проверки производительности, имеющееся в Ubuntu Software Center, а также в репозиториях других дистрибутивов.

GtkPerf тестирует производительность графического инструментария GTK+, используемого GNOME и основными приложениями Ubuntu. Применяя GtkPerf вы сможете оценить разницу в производительности между различными темами GTK+, разными версиями GTK+ и версиями вашего X-сервера и графических драйверов.

Запустите тест и GtkPerf выполнит различные действия с элементами управления GTK+ и оценит время, затраченное на тест.

Тест является воспроизводимым, поэтому можете использовать его для проверки производительности GTK+ на разных аппаратных и программных платформах.

Phoronix Test Suite - измеряем почти всё

Набор тестов Phoronix Test Suite, известный также как PTS, был создан командой веб-сайта Phoronix для выполнения различных воспроизводимых тестов, используемых в проверках, результаты которых вы можете встретить в статьях Phoronix. Он декларируется как "наиболее обширная платформа для измерения производительности, доступная в Linux". Его можно найти как в Ubuntu, так и в других дистрибутивах.

В пользовательском соглашении Phoronix Test Suite указано, что полученные вами результаты будут публично доступны, если вы согласитесь поделиться ими, а также, что разрешение сбора анонимной статистики позволит PTS отправлять данные на сервер. Нажмите "Y", чтобы принять эти правила. После этого вы можете решить, отправлять анонимную статистику или нет.

В меню Phoronix Test Suite расположен список тестовых и информационных опций.

Чтобы выполнить одиночный тест, нажмите "1". Вам будет предоставлен выбор из 126 тестов. Если для проведения теста требуется дополнительное программное обеспечение, Phoronix Test Suite автоматически загрузит его.

Для выполнения набора тестов нажмите "2". Доступны 54 различных набора тестов, начиная от тестов производительности аудио- и видеокодирования до производительности трассировки лучей и сетей.

Чтобы выполнить комплексное тестирование системы, нажмите "3". В комплекс входят следующие пять тестов: Apache Benchmark для замера производительности обработки веб-страниц, C-Ray для оценки производительности трассировки лучей, RAMspeed (две разных конфигурации) для измерения производительности оперативной памяти и PostMark для оценки производительности дисковой подсистемы.

А как вы измеряете производительность своей системы Linux? Оставьте свой комментарий, если вам есть, чем поделиться.

Читайте также: