Как загрузить cpu linux

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Как провести стресс-тестирование вашей системы Linux

4 минуты чтения

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

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

Бесплатный вводный урок на онлайн курс по Linux

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

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

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

Создаем циклы своими руками

Данный первый метод предполагает запуск некоторых циклов в командной строке и наблюдение за тем, как они влияют на систему. Этот метод нагружает ЦП, значительно увеличивая нагрузку. Результаты можно легко увидеть с помощью команды uptime или аналогичных команд.

В приведенной ниже примере мы начинаем четыре бесконечных цикла. Вы можете увеличить количество циклов, добавляя цифры или используя выражение bash , например <1..6>вместо «1 2 3 4».

В примере выше, команда, запускает четыре бесконечных цикла в фоновом режиме.

В этом случае были запущены задания 1-4. Отображаются как номера заданий, так и идентификаторы процессов.

Чтобы увидеть влияние на средние значения нагрузки, используйте команду, подобную показанной ниже. В этом случае команда uptime запускается каждые 30 секунд:

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

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

Поскольку показанные нагрузки представляют собой средние значения за 1, 5 и 15 минут, потребуется некоторое время, чтобы значения вернулись к нормальным для системы значениям.

Чтобы остановить циклы, выполните команду kill , подобную приведенной ниже — при условии, что номера заданий равны 1-4, как было показано ранее в этой статье. Если вы не уверены, используйте команду jobs , чтобы проверить ID.

Специализированные инструменты для добавления нагрузки

Другой способ создать системный стресс — это использовать инструмент, специально созданный для того, чтобы нагружать систему за вас. Один из них называется stress и может воздействовать на систему разными способами. Стресс-инструмент — это генератор рабочей нагрузки, который обеспечивает стресс-тесты ЦП, памяти и I/O.

READ  Как обновить драйвера для vanguard

С параметром —cpu команда stress использует функцию извлечения квадратного корня, чтобы заставить ЦП усердно работать. Чем больше указано количество ЦП, тем быстрее будет нарастать нагрузка.

Второй сценарий watch-it (watch-it-2) может использоваться для оценки влияния на использование системной памяти. Обратите внимание, что он использует команду free , чтобы увидеть эффект стресса.

Начало и наблюдение за стрессом:

Чем больше ЦП указано в командной строке, тем быстрее будет нарастать нагрузка.

Команда stress также может вызвать нагрузку на систему, добавив I/O и загрузку памяти с помощью параметров —io (input/output) и —vm (memory).

В следующем примере выполняется команда для добавления нагрузки на память, а затем запускается сценарий watch-it-2 :

Другой вариант для стресса — использовать параметр —io , чтобы добавить в систему действия по вводу/выводу. В этом случае вы должны использовать такую команду:

После чего вы можете наблюдать за стрессовым I/O с помощью iotop . Обратите внимание, что iotop требует привилегий root .

stress — это лишь один из множества инструментов для добавления нагрузки в систему.

Бесплатный вводный урок на онлайн курс по Linux

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

Полезно?

Почему?

😪 Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.

😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.

Источник

Чем длительно нагрузить CPU на полную?

Собственно, вопрос в заголовке. Есть ноутбук, в нем i7-4702HQ. Хочу дать ему непрерывную максимальную нагрузку чтобы посмотреть на температуру и узнать, способна ли установленная система охлаждения справится с таким режимом работы.

На ум приходит встроенный бенчмаркинг 7z или geekbench в цикле. Может запустить какую-то компиляцию?

Вангую, что не сможет.

libreoffice, llvm, qtwebengine

вот где бы светоч пригодился

install gentoo + emerge firefox libreoffice qtwebengine

Я лично в таких случаях делаю

Запустить многопоточный архиватор с максимальным сжатием из /dev/urandom

Установи кучу говно-приложений на Electron. Запусти их все. Но может не выйти, скорее всего, раньше отвалится твоя оперативка. Уйдёт в своп и всё зависнет 🙂

Если компиляция, то chromium — вот это жесть.
А так, да urandom неплохой вариант. iotop, емнип, тоже грузит одно ядро на полную

There are several options for the torture test (menu option 15).

Small FFTs (option 1) to stress the CPU

вообще-то для таких случаев есть stress — ка раз для стресс-тестирования системы. Не только для проца, умеет в рам, хдд и своп, вроде.

Странно, что никто не посоветовал.

Факториал большого числа.

Вдобавок к вышеупомянутым программам советую попробовать cpuburn.

Тесты в cpuburn однопоточные, для многоядерных процессоров нужно запускать соответствующее количество экземпляров одного и того же теста. Здесь описаны примеры: https://www.hecticgeek.com/2012/03/cpuburn-cpu-stress-test-ubuntu-linux/

Несмотря на то, что кодовая база проекта для платформы x86 не обновлялась с 2004 года (кроме баг-фиксов), всё же он может быть более полезным для стресс-теста конкретно охлаждения, чем вышеупомянутые аналоги. Он может сильнее нагрузить процессор, чем аналогичный тест, который делает лишь простую целочисленную арифметику. То есть, при одинаковой загруженности процессора в 100% его температура может отличаться в зависимости от задач, которые он решает.

Универсальные бенчмарки вроде Geekbench исполняют кучу различных тестов, обычно по очереди. Это и однопоточные операции, и многопоточные, и целочисленная арифметика, и задействование FPU и различных расширений. Но эти тесты не ставят перед собой задачу максимально нагреть процессор. Теоретически, процессор может даже немного остывать в менее затратных по электроэнергии тестах.

Да, вот конкретно на примере Geekbench 4 указаны куча тестов для CPU https://www.geekbench.com/doc/geekbench4-cpu-workloads.pdf. Но при этом там есть такая заметка:

Geekbench inserts a pause (or gap) between each workload to minimize the effect thermal issues have on workload performance.

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

READ  Драйвера на принтер рикон sp 210su

С другой стороны, если в Geekbench можно запустить выполнение конкретного теста в режиме нон-стоп без всяких пауз, то почему бы и нет? Там есть ряд тестов, которые используют новые расширение, новые инструкции. Возможно, один из этих тестов может оказаться наиболее «горячим» для конкретно твоего процессора.

Вернемся к cpuburn. Конечно, за 14 лет многое изменилось, в тестах cpuburn нет новых инструкций, не проводились оптимизации для новых поколений процессоров. И тем не менее, было бы интересно посмотреть, до каких предельных температур нагревают современные процессоры разные тесты.

Источник

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.

READ  Как выйти на восстановление системы windows 10

Утилизация 100% мощности одного или нескольких ядер CPU

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

Скажем микропроцессору «yes». только очень много раз!

С виду простая и безобидная команда, а нагрузит она одно ядро CPU примерно на 100% и без скачков. Суть этой конструкции проста: выводим слово «yes» бесконечное количество раз и перенаправляем вывод в «черную дыру» — /dev/null.

Рис. 3. Нагружаем одно ядро CPU на 100% командой yes в GNU Linux.

Другие связки из простых команд для загрузки ЦПУ

Пример с командой «yes» — это наиболее простой и доступный способ нагрузить одно или несколько ядер центрального процессора.

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

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

  1. Что-то откуда-то беспрерывно считываем и перенаправляем в /dev/null;
  2. Выполняем бесконечный анализ данных какой-то программой или утилитой.

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

Рис. 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 его нет), но это уже другая история.

Источник