отсутствие потребности установить любой экстренный пакет, ваша хорошая старая раковина могл сделать ее самостоятельно.
этот ОДН-вкладыш нагрузит ваши 4 сердечника на 100%:
for i in 1 2 3 4; do while : ; do : ; done & done
как это работает довольно просто, он начинает четыре бесконечные петли. Каждый из них повторяет инструкцию null (:
). Каждый цикл способен загрузить ядро процессора на 100%.
если вы используете bash
,ksh93
и другие раковины поддерживая ряды, (т. е. не dash
старше ksh
), вы можете использовать это непортативный синтаксис:
for i in {1..4}; do ...
заменить 4
С количеством процессоров вы хотели бы загрузить, если отличается от 4
.
предполагая, что у вас не было фонового задания, уже запущенного при запуске одного из этих циклов, вы можете остановить генерацию нагрузки с помощью этой команды:
for i in 1 2 3 4; do kill %$i; done
отвечая на комментарий @underscore_d, вот Расширенная версия, которая упрощает остановку загрузки, а также позволяет указать тайм-аут (по умолчанию 60 считанные секунды.) A управления -C убьет все убегающие петли тоже. Эта функция оболочки работает как минимум под bash
и ksh
.
# Usage: lc [number_of_cpus_to_load [number_of_seconds] ]
lc() {
(
pids=""
cpus=${1:-1}
seconds=${2:-60}
echo loading $cpus CPUs for $seconds seconds
trap 'for p in $pids; do kill $p; done' 0
for ((i=0;i<cpus;i++)); do while : ; do : ; done & pids="$pids $!"; done
sleep $seconds
)
}