Среда Linux: Debian, Ubuntu, Centos
Цель:
Программа мониторинга тестирования, которая устанавливает сигналы и запускает различные сигналы с разным процентом ЦП.
например: (30-50%), (51-70%) и> 90%
Поэтому мне нужен stresser процессора, который может имитировать определенный процент процессоров на ядро.
стресс-мг выглядит как самый продвинутый.
Согласно его документации 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
stress-ng: info: [12650] диспетчеры: 0 I / O-Sync, 1 CPU, 0 VM-mmap, 0 HDD-Write, 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%
Есть идеи, как этого добиться?
Я спроектировал stress-ng так, чтобы можно было указать 0 для количества процессов, вызывающих стресс, чтобы соответствовать количеству онлайн-процессоров, поэтому для загрузки каждого процессора, скажем, 40%, используйте
стресс-нг -c 0 -l 40
Я должен был использовать -l опция
Выглядит как -c 1 распределяем нагрузку между всеми ядрами. Не совсем 80/4 на ядро, я думаю, потому что хост уже запускает некоторые вещи.
стресс-нг -c 1 -l 80
и -c 4 имитировать нагрузку на каждое ядро
стресс-нг -c 4 -l 80