A utilização de 100% da CPU ou 100% do MEM tornará o servidor Linux mais instável? De tal forma que ele trava e precisa ser reinicializado.
Porque eu ouvi isso:
“Se você limitar o processo a 90% da CPU, estará desperdiçando 10% do poder de computação por nada”
contra
"Por favor, limite o uso da CPU abaixo de 90% para o seu processo ou o sistema ficará instável"
Qual das afirmações é verdadeira? O sistema operacional Linux não deveria lidar com casos de alta utilização?
Entendo que em uma máquina cliente, provavelmente não quero 100% de uso da CPU, pois isso retarda logins, comandos cli e qualquer coisa interativa. Mas em um servidor agindo como umnó de trabalho, a utilização da CPU deve ser de 100% ou limitada abaixo de 100%? A mesma pergunta para MEM.
Responder1
Um servidor com 100% de uso da CPU não responderá muito bem a novas tarefas e poderá ficar lento se usado de forma interativa, mas deverá continuar funcionando. Nós de trabalho que executam tarefas com uso intensivo de CPU em ou perto de 100% são adequados. Um PC de mesa, nem tanto.
Um servidor com 100% de memória começará a eliminar tarefas ou travará.
Responder2
Esta é uma pergunta com uma resposta complexa.
A resposta curta é que não, a alta utilização de recursos não tornará o servidor instável ou travará por si só. MAS...
A resposta longa é que depende. A alta utilização da CPU pode, por exemplo, resultar em tempos de resposta insatisfatórios, conflitos de recursos e problemas agravados em que as solicitações ficam na fila mais rápido do que o servidor pode lidar com elas. Isso efetivamente tornaria o servidor instável.
A prioridade do processo também desempenha um papel importante aqui. As tarefas de prioridade mais alta têm preferência ao tempo de CPU, o que pode resultar em tarefas de prioridade mais baixa, acabando com falta de recursos e, assim, tornando o sistema instável.
Por outro lado, uma tarefa com uso intensivo de CPU intencionalmente definida como baixa prioridade poderia utilizar qualquer CPU que de outra forma estaria ociosa sem afetar visivelmente o desempenho do sistema. Programas como o Folding@Home usam isso para rodar em segundo plano sem afetar o resto do sistema.
A alta utilização de memória pode resultar em troca, o que reduz ainda mais o desempenho do servidor e pode efetivamente torná-lo instável.
A alta utilização de memória também pode resultar em problemas de falta de memória que fariam com que os processos fossem encerrados. Isso definitivamente tornará o servidor instável e propenso a travar.
Tudo depende do que o servidor deve fazer. Um servidor web com uma utilização tão alta provavelmente correria o risco de ficar inutilizável, mas um servidor de codificação de vídeo funcionaria perfeitamente.
E depois há as questões de consumo de energia, geração de calor, capacidade de refrigeração e assim por diante...
Responder3
Isso depende totalmente do que esses servidores FAZEM.
Aqui uma história. Windows, mas ainda assim o mesmo.
Tenho um agente de software que utilizará um servidor com 100% da CPU. PERÍODO. Independentemente do tamanho. É um agente de simulação estatística que pega jobs de um servidor - ONE PER CORE - e os executa. Em baixa prioridade, com um thread de controle de prioridade mais alta, garantindo que todos estejam ocupados.
100% CPU é um problema? NÃO. Isto é o que está planejado fazer.
OTOH, um servidor de banco de dados com gerenciamento de memória SMART, usará o máximo de memória possível para armazenamento em cache e liberará a memória quando necessário. Novamente, não é um problema.