- Информация об оперативной памяти в Linux. Свободная, занятая и тип памяти
- Свободная и занятая оперативная память
- Команда free
- Команда vmstat
- Команда top
- Команда htop
- Файл /proc/meminfo
- Тип памяти и частота
- Заключение
- Стресс-тестирование систем в Linux – утилита stress-ng
- Основные особенности и возможности stress-ng
- Синтаксис stress-ng
- Основные опции stress-ng
- Тестирование процессора
- Тестирование дисковой подсистемы
- Тестирование памяти
- Комплексное тестирование
- Заключение
- Тест производительности Linux
- Что такое Phoronix Test Suite?
- Доступные тесты производительности
- Тесты общей производительности системы (System):
- Тесты производительности процессора (Processor):
- Тесты производительности памяти (Memory):
- Тесты производительности дисковой подсистемы (Disk):
- Тесты производительности видеокарты (Graphics):
- Тест производительности Linux
- 1. Установка Phoronix Test Suite
- 2. Подключение учётной записи
- 3. Просмотр доступных бенчмарков
- 4. Установка тестов
- 5. Запуск тестов
- 6. Просмотр результатов тестов
- 7. Работа с сайтом openbenchmarking.org
- 8. Настройка сетевого доступа для тестов
- 9. Сервер тестирования компьютеров в локальной сети
- Выводы
Информация об оперативной памяти в Linux. Свободная, занятая и тип памяти
В этой статье мы рассмотрим, как получить информацию об оперативной памяти (RAM) в Linux.
Мы воспользуемся утилитами командной строки доступными для большинства Linux дистрибутивов.
Свободная и занятая оперативная память
Для получения информации о количестве свободной и занятой оперативной памяти в Linux можно использовать различные утилиты и команды. Рассмотрим несколько распространенных способов.
Команда free
Команда free очень простая, она выводит информацию о общем количестве оперативной памяти, о количестве занятой и свободной памяти, а также об использовании файла подкачки.
По умолчанию объем памяти выводится в килобайтах. Используя опции, можно выводить объем памяти в других форматах. Некоторые опции:
- -m — в мегабайтах
- -g — в гигабайтах
- -h — автоматически определить формат
Команда vmstat
Команда vmstat выводит различную статистику по использованию памяти. Используя ключ -s можно вывести подробную статистику в табличном виде.
Команда top
top — это утилита командной строки, которая используется для мониторинга процессов и используемых ресурсов компьютера.
Запуск утилиты top :
В заголовке выводится информация об использованной оперативной памяти.
Команда htop
Утилита htop, также как и top, используется для мониторинга ресурсов и процессов.
Для установки утилиты htop в Ubuntu Linux (Linux Mint и других Ubuntu/Debian-дистрибутивах) выполните команду:
Запуск утилиты htop :
Файл /proc/meminfo
Описанные выше команды, в качестве источника информации используют системные файлы из файлов, хранящихся в виртуальной файловой системе /proc . В файле /proc/meminfo содержится информация об использовании памяти. Выведем содержимое файла /proc/meminfo :
Тип памяти и частота
Рассмотрим, как получить информацию об установленных в компьютер модулях оперативной памяти. Воспользуемся командной dmidecode
Используем следующую команду:
В выводе команды будет информация о слотах оперативной памяти. Для каждого слота отображается установленный модуль оперативной памяти, его тип (поле Type ), размер (поле Size ), скорость/частота (поле Speed ) и другая информация.
В зависимости от системы и оборудования не всегда удается получить все данные, поэтому некоторые поля могут быть пустыми или иметь надписи Not provided/Unknown.
Заключение
Мы рассмотрели различные способы для просмотра информации о доступной и занятой оперативной памяти, а также показали, как вывести информацию об установленных модулях оперативной памяти.
Для отслеживания использования ресурсов компьютера существует множество графических программ. Найти их можно в нашем каталоге программ для Linux в разделе Система/Мониторинг.
Источник
Стресс-тестирование систем в Linux – утилита stress-ng
Для организации и проведения нагрузочного стресс-тестирования в Linux-системах существует утилита stress-ng. С помощью неё несложно сгенерировать реальную рабочую нагрузку на тестируемые подсистемы и, соответственно, оценить её возможности. Утилита, традиционно для Linux, предоставляет для работы интерфейс командной строки. Однако, это ни в коей мере не делает её неудобной. Со своими задачами она справляется на «отлично». В данной статье приведены инструкции, отражающие основы работы с утилитой stress-ng для некоторых самых распространённых ситуаций в стресс-тестировании систем на основе Linux.
Основные особенности и возможности stress-ng
Возможности, которыми обладает утилита stress-ng, довольно широки. Об этом свидетельствует огромное количество всевозможных опций, которыми её наделили разработчики.
Но ключевой особенностью stress-ng является то, что это полноценный инструмент со встроенными тестами. В отличие от многих других аналогов, при выполнении теста не производится обращений к сторонним и/или внешним ресурсам. Таким образом, stress-ng абсолютно самодостаточна. Практически в любом дистрибутиве Linux она доступна в стандартном репозитории и устанавливается с помощью системы управления пакетами (СУП) дистрибутива. Например, в Ubuntu:
Кроме всего прочего, 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.
Тестирование процессора
Для подавляющего большинства ситуаций классическим примером стресс-теста можно использовать тест, выполняемый следующей командой:
В данном тесте задействованы 16 потоков для тестирования 16-поточного процессора. Вывод результатов может быть следующим:
Естественно количество потоков следует задавать в соответствии со спецификацией используемого процессора.
Тестирование дисковой подсистемы
Для проведения стресс-тестирования накопителей, таких как жёсткие диски можно для начала провести низкоуровневый тест ввода вывода
Вывод команды будет следующим
Еще один стресс-тест дисков можно выполнить командой
В данном случае будет запущено 5 стрессоров для жёстких дисков, которые будут остановлены по завершении 100 тыс. bogo-операций.
Во время тестирования можно смотреть загрузку командой iostat
Тестирование памяти
Что бы провести стресс-тест памяти используйте команду
После окончания мы получим результат проверки приблизительно следующего вида
Комплексное тестирование
Если необходимо провести комплексное стресс-тестирование, можно задействовать работу нескольких основных подсистем вместе одной командой:
Эта команда запустит тест для CPU в 8 потоков, тест виртуальной памяти с размещением в ней одного гигабайта данных, а также 4 стрессора для тестирования операций ввода/вывода.
Что бы запустить тестирование всего «железа», используется команда
Эта команда запустит все тесты. После выполнения результат будет выведен в консоль. Во время выполнения команды лучше компьютер не трогать
Заключение
В заключение стоит ещё раз отметить, что утилита stress-ng по своим возможностям очень универсальна и позволяет качественно протестировать любую систему. Приведенные выше примеры охватывают наиболее распространённые ситуации по нагрузочному тестированию Linux-систем. Для проведения специфичных или более сложных тестов рекомендуется обращаться к официальному руководству по использованию утилиты, доступному по команде man stress-ng.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Тест производительности Linux
Пользователи редко задумываются о конфигурации и производительности используемого ими персонального компьютера. Обычно интерес к этой теме возникает в том случае, если пользователь увлечён сферой информационных технологий или если его не устраивает текущая производительность системы.
Однако, этот вопрос весьма важен, особенно если рабочая станция — ваше устройство, используемое для развлечений, отдыха и работы. В этой статье мы разберемся как выполнить тест производительности Linux и рассмотрим один из инструментов тестирования производительности — Phoronix Test Suite.
Что такое Phoronix Test Suite?
Данный пакет — открытое программное обеспечение, используемое для автоматического тестирования комплектующих системы с помощью огромного набора бенчмарков. С данным ПО тесно связан сайт openbenchmarking.org, позволяющий сохранять и вести свою базу результатов тестов, а также делиться своими достижениями с другими.
С помощью 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):
- Build-GCC — тест процессора linux, показывающий сколько времени занимает сборка коллекции GNU Compiler Collection. Содержит библиотеки, написанные на следующих языках: C, C++, Objective-C, Fortran, Ada, Go и D.
- Build-PHP — тест даёт оценку быстроте компиляции PHP7.
- Go-benchmark — бенчмарк, вычисляющий производительность процессора в Go для HTTP, JSON и сборки мусора.
- Dacapobench — тесты DaCapo, написанные на Java и тестирующие производительность процессора.
- SciMark2 — бенчмарк SciMark 2.0, оценивающий производительность научных и целочисленных вычислений и разработанный программистами National Institute of Standards and Technology. Содержит несколько подтестов, основанных на различных алгоритмах.
- FFmpeg — тест на основе набора библиотек FFmpeg, позволяющих кодировать/декодировать аудиозаписи и видеозаписи в различные форматы. Тестирует производительность кодирования аудио/видео системой.
- LuxCoreRender — рендер с открытым исходным кодом. Данный бенчмарк оценивает производительность процессора.
- X264 — тест производительности процессора Linux при кодировании x264-видео.
- Povray — бенчмарк на основе программы The Persistence of Vision Raytracer, строящий 3D-сцены на основе трассировки лучей.
- OpenSSL — тест процессора, измеряющий производительность процессора при использовании алгоритма шифрования RSA, 4096-бит, OpenSSL.
Тесты производительности памяти (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
В репозиториях операционных систем семейства Linux обычно содержится устаревшая версия пакета. Поэтому, в первую очередь скачиваем свежую версию дистрибутива по адресу: https://www.phoronix-test-suite.com/?k=downloads.
Далее предлагаем последовательность установки для операционной системы Ubuntu.
Открываем командный интерпретатор bash и выполняем следующие команды:
sudo apt install gdebi-core
Пакет, позволяющий устанавливать программное обеспечение из пакетов *.deb, установлен. Затем устанавливаем скачанную нами версию тестового программного обеспечения:
sudo gdebi phoronix-test-suite_9.4.0_all.deb
Данную команду надо выполнять из папки, в которой находится скачанный дистрибутив Phoronix Test Suite.
2. Подключение учётной записи
Далее рекомендуем вам на сайте openbenchmarking.org, сохраняющем результаты тестов с использованием Phoronix Test Suite, создать свою учётную запись. После этого подключаем вашу учётную запись с помощью команды:
Вводим свой логин и пароль.
На этом установка 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
После запуска Phoronix Test Suite спрашивает, сохранить результаты или нет. Выбираем Y. В следующем запросе нужно ввести имя файла результатов теста, например, test-28-02-2020-01. Затем тест запрашивает уникальное имя теста (конфигурации теста). Последним запрашивается описание тестовой конфигурации (можно оставить по умолчанию).
После выполнения теста выводится предложение просмотреть результат в браузере и загрузить результат на сайт openbenchmarking.org.
Результат в браузере выглядит следующим образом
Запуск нескольких тестов одновременно производится командой:
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 result-file-to-pdf test-28-02-2020-01
Объединить результаты из разных файлов в один можно с помощью команды:
sudo phoronix-test-suite merge-results [ saved name ] [ saved name ] … [ saved name ]
sudo phoronix-test-suite merge-results test-26-02-2020-02 test-28-02-2020-01
При этом имя для объединённого результата программа выбирает сама, отдельные старые результаты тоже сохраняются.
Внимание! При выполнении этой команды ссылка для просмотра результата в браузере у меня получалась нерабочей, но в дальнейшем результат было можно просмотреть с помощью команды
sudo phoronix-test-suite show-result [ saved name ].
7. Работа с сайтом openbenchmarking.org
Вставка результата в базу сайта производится следующим образом:
sudo phoronix-test-suite upload-result [ saved name ]
sudo phoronix-test-suite upload-result test-28-02-2020-01
Загрузить конкретный результат текущего пользователя с сайта на ПК можно с помощью команды:
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
Также посмотреть результаты тестов можно непосредственно в браузере на сайте openbenchmarking.org.
Для того, чтобы сформировать выборку тестов, необходимо установить флажки с названием файлов результатов и нажать на ссылку 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. Делитесь своими результатами тестов в комментариях!
Источник