Как установить нагрузку на процессор на Red Hat Linux?

У меня есть блок RHEL, который мне нужно поместить под умеренную и переменную величину загрузки процессора (50%-75%).

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

10 ответов

Решение

Это именно то, что вам нужно: http://weather.ou.edu/~apw/projects/stress/

С домашней страницы: "стресс" - это простой генератор рабочей нагрузки для систем POSIX. Он налагает на систему настраиваемое количество ресурсов ЦП, памяти, ввода-вывода и нагрузки на диск. Он написан на C и является бесплатным программным обеспечением, лицензируемым по лицензии GPL.".

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

Lookbusy позволяет установить значение загрузки процессора. Сайт проекта

lookbusy -c util[-high_util], --cpu-util util[-high_util]

i.e. 60% load
lookbusy -c 60

Это действительно зависит от того, что вы пытаетесь проверить. Если вы просто тестируете нагрузку на процессор, простые сценарии для использования пустых циклов процессора будут работать нормально. Лично мне недавно пришлось тестировать производительность RAID-массива, и я использовал Bonnie++ и IOZone. IOZone будет прилично загружать коробку, особенно если вы установите размер файла больше, чем ОЗУ.

Вы также можете быть заинтересованы в этой статье.

Один из распространенных способов получить нагрузку на систему - это многократно компилировать большой программный пакет. Что-то вроде ядра Linux.

Получите копию исходного кода, распакуйте tar.bz2, перейдите в исходный каталог верхнего уровня, скопируйте конфигурацию вашего ядра из /boot в.config или zcat /proc/config.gz > .config, затем выполните make make oldconfig, затем пока правда; сделать чистый && make bzImage; сделанный

Если у вас есть система SMP, то make -j bzImage - это весело, она порождает выполнение задач параллельно.

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

Вы могли бы сделать это, используя скрипт Bash. Используйте " ps -o pcpu | grep -v CPU" для получения загрузки ЦП всех процессов. Добавьте все эти значения вместе, чтобы получить текущее использование. Затем создайте занятый цикл while, который в основном продолжает проверять эти значения, вычислять текущее использование ЦП и ждать рассчитанное количество времени, чтобы удержать процессор на определенном пороге. Нужно больше подробностей, но, надеюсь, это даст вам хорошую отправную точку.

Взгляните на этот скрипт CPU Monitor, который я нашел, и постарайтесь получить другие идеи о том, как этого добиться.

Простой скрипт для загрузки и забивания процессора с помощью awk. Скрипт выполняет математические вычисления и, таким образом, загрузка процессора достигает максимума при более высоких значениях passwd для loadserver.sh .

Оформить заказ сценария @ http://unixfoo.blogspot.com/2008/11/linux-cpu-hammer-script.html

Используйте команду "nice".

а) Наивысший приоритет: $ nice -n -20 my_command

или же

б) Самый низкий приоритет: $ nice -n 20 my_command

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

Вот пример сценария bash, который будет занимать все свободные циклы процессора:

#!/bin/bash
while true ; do
true
done

Не уверен, что ваша цель здесь. Я полагаю, что glxgears будет использовать 100% CPU.

Поэтому найдите любой процесс, который, как вы знаете, увеличит максимальную загрузку процессора до 100%.

Если у вас есть четыре ядра ЦП (0 1 2 3), вы можете использовать "набор задач", чтобы связать этот процесс, чтобы сказать ЦП 0 и 1. Это должно загрузить ваш ящик на 50%. Чтобы загрузить его на 75%, привязайте процесс к 0 1 2 ЦП.

Отказ от ответственности: не проверял это. Пожалуйста, дайте нам знать ваши результаты. Даже если это сработает, я не уверен, что вы достигнете из этого?

Другие вопросы по тегам