Стресс-нг: имитировать конкретные проценты процессора
Среда Linux: Debian, Ubuntu, Centos
Цель:
Протестируйте программу мониторинга, которая устанавливает аварийные сигналы и запускает различные аварийные сигналы с различным процентным содержанием процессора.
например: (30-50%), (51-70%) и>90%
Поэтому мне нужен процессор, который может имитировать определенный процент процессора на ядро.
стресс-мг выглядит как самый продвинутый.
В соответствии с документацией http://kernel.ubuntu.com/~cking/stress-ng/ можно установить значения нагрузки от 0 до 100%:
-l P --cpu-load P загрузить CPU на P %, 0= режим сна, 100= полная загрузка (см. -c)
stress-ng -c 1 -p 30
ress-ng: info: [12650] диспетчеризация: 0 I-O-Sync, 1 CPU, 0 VM-mmap, 0 HDD-запись, 0 Fork, 0 Context-switch, 30 Pipe, 0 Cache, 0 Socket, 0 Выход, 0 Fallocate, 0 Flock, 0 Affinity, 0 Timer, 0 Dentry, 0 Urandom, 0 Float, 0 Int, 0 Semaphore, 0 Open, 0 SigQueue, 0 Poll
Нежелательный результат:
Но это, похоже, не работает, все ядра загружены на 100%
Есть идеи как этого добиться?
2 ответа
Я разработал стресс-нг так, чтобы можно было указать 0 для числа процессов стрессора, чтобы соответствовать количеству процессоров в режиме онлайн, поэтому для загрузки каждого процессора, скажем, на 40%, используйте
стресс-нг -c 0 -l 40
Я должен был использовать опцию -l
Похоже, -c 1 распределяет нагрузку между всеми ядрами. Я думаю, не совсем 80/4 на ядро, потому что хост уже запускает некоторые вещи.
стресс-нг -c 1 -l 80
и -c 4 моделируют нагрузку на каждое ядро
стресс-нг -c 4 -l 80