3

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

Поэтому я ищу программу, которую могу использовать, чтобы заставить процессор использовать X%, т. Е. Чтобы я мог увеличить нагрузку на процессор на 10% и выполнить измерения в этой точке.

Я смотрел на пакеты, такие как «стресс» и «cpuburn», но они, кажется, используют только 100%

Надеюсь, вы можете помочь

Спасибо

4 ответа4

4

Вы можете использовать генератор загрузки процессора вместе с ограничителем загрузки процессора.

Ниже приведен пример со stress коммунальных служб и cpulimit. Обе утилиты находятся в репозиториях Debian и производного дистрибутива (например, Ubuntu).

stress -c 1 & cpulimit -p $( pidof -o $! stress ) -l 20

объяснение

20 - процент времени процессора, который будет использоваться. stress порождает ребенка, поэтому вы не можете контролировать работника непосредственно из cpulimit . pidof используется для поиска дочернего PID. Этот простой пример будет надежно работать только в том случае, если запущен единственный случай stress . Чтобы остановить загрузку, нажмите Ctrl+c и введите killall stress .

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

cpulimit работает лучше всего, если вы настраиваете лимит RLIMIT_NICE или запускаете его как root .

0

Кто-то опубликовал интересную скрипку, которая может на 100% нагружать все ядра процессора.

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

http://jsfiddle.net/MTJ27/81/

  • Вы можете использовать navigator.hardwareConcurrency, чтобы получить количество ядер.
  • Вы не можете реализовать CPU-Z как веб-страницу, хотя WebGL позволяет получить подробную информацию о графическом процессоре.
0

Вместо того, чтобы пытаться ограничить использование CPU приложениями, почему бы вам не попробовать ограничить сам процессор , уменьшив его мощность до желаемого процента? вы не сможете указать потоку, который в противном случае работал бы с максимальной емкостью, "работать медленнее", если только он не был спит x% времени, что могло бы загрязнить данные, которые вы пытаетесь собрать, с использованием процессора для операций с потоками. как спин-ожидание / пульс.

в зависимости от вашего дистрибутива вы можете использовать такие инструменты, как cpupower, granola или cpufreq

0

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

stress-ng --cpu 4 --cpu-load 50

Это приведет к нагрузке на четыре процессора с нагрузкой в 50%. Если вы используете Ubuntu, вы можете просто установить его из репозитория:

sudo apt-get install -y stress-ng

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .