Use o utilitário stress
para gerar uma carga de CPU em seu sistema.
Algo como:
[root@xt ~]# stress --cpu 8
stress: info: [1009156] dispatching hogs: 8 cpu, 0 io, 0 vm, 0 hdd
O que exatamente você está interessado em testar?
Estou executando um servidor Ubuntu 12.04 através de uma máquina virtual (ele está sendo executado no hipervisor ESXi da VMware), mas não estou convencido de que ele tenha acesso total aos 8 CPUs que eu designei para ele. Meu servidor físico possui 2 chips phyiscais com 4 núcleos físicos. Eu atribuí essa mesma configuração ao meu servidor virtual. Infelizmente, eu nunca vi nenhum processo ficar acima de 12,5% da carga da CPU e estou pensando que pode haver um problema com a minha configuração.
TL: DR - Qual é a maneira mais fácil de maximizar o uso da CPU via CLI para fins de teste?
Use o utilitário stress
para gerar uma carga de CPU em seu sistema.
Algo como:
[root@xt ~]# stress --cpu 8
stress: info: [1009156] dispatching hogs: 8 cpu, 0 io, 0 vm, 0 hdd
O que exatamente você está interessado em testar?
100% / 8 = 12,5. Você está maximizando apenas um dos seus 8 núcleos possíveis. Execute um programa multi-threaded.
Não é possível que um único processo fique acima de 12,5% do uso da CPU em um sistema com 8 CPUs.
Mais especificamente, um processo single-threaded não pode fazer mais do que uma coisa de cada vez. Se um processo em um sistema com 8 processadores estiver fazendo cálculos implacáveis back-to-back na CPU 0, estará consumindo 12,5% dos recursos da CPU disponíveis nesse sistema. Para carregar vários núcleos, você precisa executar vários processos ou escrever um software que será enviado para vários núcleos.
Tags virtualization linux ubuntu