Vamos supor que eu trabalhe em uma empresa e esta empresa possua apenas um servidor. No final de cada mês, meu chefe entra no meu escritório e me pergunta: 'Precisamos de novas CPUs?'. Vamos dizer também que, como regra geral, a empresa precisa de novas CPUs se mais de 70% dos 'recursos de sistemas' forem usados. Ao digitar lscpu eu recebo
fabi@alien-linux:~$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
...
Então eu computo
X = (Nr of CPUs)*(Nr of sockets)*(Nr of cores per socket)*(Threads per core)
que é 84 no meu caso. Para simplificar, vamos assumir que eu execute "top" com uma taxa de amostragem muito alta ao longo do mês e mostra constantemente
50.0 50.0 50.0
o que significa que, em média, 50 processos foram realmente tratados pelos núcleos, esperando para serem tratados ou no estado "ININTERRUPTABLE". Tudo bem, eu computo
0.7 * 84 = 58.8
então isso significa '70% dos recursos do sistema = 58.8 processos'.
Como só tenho 50 processos, posso responder "não" ao meu chefe, não precisamos de novo hardware.
Aqui está a minha pergunta:
Isso está correto?
A pergunta foi feita aqui e a resposta foi que esse cálculo não está correto. Eu não entendo porque ...
Atenciosamente,
FW