stress-ng: Simule porcentagens específicas de cpu

6

Ambiente Linux: Debian, Ubuntu, Centos

Meta:
Teste o programa de monitoramento que define alarmes e aciona diferentes alarmes em diferentes porcentagens de CPU. ex: (30-50%), (51-70%) e > 90%

Então eu preciso de um estressador de cpu que pode simular uma porcentagem específica de cpu por núcleo. Stress-mg parece o mais avançado.

De acordo com a documentação link , é possível definir valores de carga entre 0 e 100%:

-l P --cpu-load P load CPU by P %, 0=sleep, 100=full load (see -c)

stress-ng -c 1 -p 30

stress-ng: info: [12650] dispatching hogs: 0 I/O-Sync, 1 CPU, 0 VM-mmap, 0 HDD-Write, 0 Fork, 0 Context-switch, 30 Pipe, 0 Cache, 0 Socket, 0 Yield, 0 Fallocate, 0 Flock, 0 Affinity, 0 Timer, 0 Dentry, 0 Urandom, 0 Float, 0 Int, 0 Semaphore, 0 Open, 0 SigQueue, 0 Poll

Resultado indesejado:
Mas parece que não funciona, todos os núcleos da ALL estão em 100%

Alguma idéia de como conseguir isso?

    
por AJN 11.08.2016 / 14:13

2 respostas

5

Eu projetei o stress-ng para que se possa especificar 0 para o número de processos de estressor para corresponder ao número de CPUs on-line, então para carregar cada cpu em 40%, use

stress-ng-c 0 -l 40

    
por 12.08.2016 / 09:18
3

Eu deveria ter usado -l option

  1. Parece que -c 1 distribui a carga entre todos os núcleos. Não exatamente 80/4 por núcleo, eu acho que porque o host já está executando algumas coisas.

    stress-ng-c 1 -l 80

  • e -c 4 simulam a carga em cada núcleo

    stress-ng-c 4 -l 80

  •     
    por 11.08.2016 / 20:10