Как настроить загрузку процессора на Red Hat Linux? - PullRequest
5 голосов
/ 27 сентября 2008

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

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

Ответы [ 10 ]

15 голосов
/ 27 сентября 2008

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

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

2 голосов
/ 27 сентября 2008

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

1 голос
/ 27 сентября 2008

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

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

1 голос
/ 27 сентября 2008

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

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

1 голос
/ 27 сентября 2008

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

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

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

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

0 голосов
/ 07 октября 2013

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

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

i.e. 60% load
lookbusy -c 60
0 голосов
/ 14 декабря 2008

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

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

0 голосов
/ 27 сентября 2008

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

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

или

б) Низший приоритет: $ nice -n 20 my_command

0 голосов
/ 27 сентября 2008

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

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

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

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

0 голосов
/ 27 сентября 2008

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

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

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