A adição de mais memória RAM diminuirá o uso da CPU?

2

Eu tinha um servidor virtual com 2 GB de RAM e o uso médio sempre foi inferior a 1 GB de RAM, por isso consegui um novo para exatamente o mesmo propósito e só consegui 1 GB de RAM. Mas parece-me que usa mais CPU agora.

Ter menos memória RAM significa usar mais CPU? Mesmo se o uso médio de memória não for usado em 100%?

// é um servidor web com painel Plesk

    
por adrianTNT 25.09.2011 / 12:59

2 respostas

4

A resposta não é tão simples, mas essencialmente - Sim.

Por ter menos RAM, você normalmente forçará o sistema a usar mais memória virtual no disco rígido. Isto resulta no CPU ter que fazer um pouco mais de trabalho, por ex. Movendo dados entre RAM e HDD e ajustando as tabelas de páginas, particularmente quando há uma mudança de contexto. Portanto, há menos tempo de CPU disponível para os aplicativos.

É por isso que, se você tivesse a opção de gastar o mesmo dinheiro para duplicar sua RAM ou aumentar sua velocidade de CPU em 5% -10%, geralmente é melhor gastá-la em duplicar sua RAM.

    
por 25.09.2011 / 13:16
2

O uso da CPU é muitas vezes um arenque vermelho porque você não sabe se representa trabalho útil ou não. Se você tem alto uso de CPU, isso pode indicar que o aplicativo está fazendo muito trabalho útil (bom); por outro lado, isso poderia indicar que o aplicativo está sendo muito ineficiente (ruim).

É melhor se concentrar em medidas diretas de trabalho útil, como o rendimento e a latência do aplicativo. Para um servidor da Web, isso incluiria métricas como o número máximo de usuários simultâneos e o tempo gasto para o servidor responder a cada solicitação. Então, você pode comparar essas métricas com o uso da CPU para ter uma ideia da eficiência da CPU.

Para responder à sua pergunta específica: depende dos gargalos de desempenho em seu ambiente específico.

Em muitas situações, a adição de RAM aumentará o uso da CPU, pois permitirá que seja feito um trabalho mais útil - e isso é bom. Por exemplo, imagine um servidor web sob carga pesada servindo arquivos. O gargalo de desempenho provavelmente será E / S de disco; o aplicativo passará a maior parte do tempo esperando pelo disco, portanto, o uso da CPU será bastante baixo. Se você adicionasse mais RAM para armazenar em cache os arquivos no disco, o aplicativo gastaria menos tempo aguardando, mais tempo processando e, assim, o uso da CPU e a taxa de transferência seriam maiores.

Também poderia funcionar de outra maneira. Por exemplo, muitas vezes há um trade-off em algoritmos de computador entre a complexidade do espaço e a complexidade do tempo; isto é, a RAM extra permite que o aplicativo use menos CPU, portanto, o uso da CPU seria menor (ou você obteria mais taxa de transferência por ciclo de CPU). @sybreon deu um bom exemplo de como adicionar RAM pode tornar o uso da CPU mais eficiente, porque o sistema não precisa gastar tanto esforço gerenciando um recurso restrito.

    
por 25.09.2011 / 15:32