Windows 2008 R2 A memória está sempre cheia

4

Temos um Windows 2008 R2 em um servidor HP com 24 GB de RAM. O único software importante instalado é o SQL Server 2008 R2 e quase nenhum recurso ou função está habilitado neste Windows.

Mas o problema é que sempre a RAM está quase cheia. Quando olhamos para o desempenho no Gerenciador de Tarefas ou na parte de memória do Monitor de Recursos ou programas de terceiros, vemos que cerca de 97% -99% de 24 GB de RAM estão ocupados, mas a soma da memória usada de todos os processos é inferior a 1 GB. >

Se essa porcentagem de RAM for usada, por que o Windows não pode mostrar quais processos estão usando essa quantidade de memória? e se não, por que o windows diz que a RAM está cheia?

    
por Arya 10.04.2012 / 11:33

3 respostas

6

O SQL Server usa toda a memória disponível. Não é um bug, é por design. É também por isso que o SQL Server deve ser instalado em máquinas dedicadas (e não junto com o IIS, por exemplo).

Quando executado por um longo período, o SQL Server armazena os dados de acordo com as consultas executadas, para que sejam mais rápidos de serem executados posteriormente. Isso significa que, quando você inicia o servidor, o uso de memória será baixo, mas aumentará com o tempo.

Você pode ajustar o limite de memória a ser usado pelo SQL Server, mas não deve fazer isso a menos que tenha motivos sérios para isso.

Aqui está uma citação de Como ajustar o uso de memória usando as opções de configuração no SQL Server no site de suporte da Microsoft:

When you start SQL Server, SQL Server memory usage may continue to steadily increase and not decrease, even when activity on the server is low. Additionally, the Task Manager and Performance Monitor may show that the physical memory available on the computer is steadily decreasing until the available memory is between 4 to 10 MB.

This behavior alone does not indicate a memory leak. This behavior is normal and is an intended behavior of the SQL Server buffer pool.

    
por 10.04.2012 / 11:43
3

Você pode usar o RAMMap para descobrir qual processo está usando sua memória (e como).

    
por 10.04.2012 / 11:35
1

Para especificar a quantidade máxima e mínima de memória usada pelo SQL Serve:

  1. Clique com o botão direito do mouse na instância do SQL Server no Pesquisador de Objetos do SQL Server Management Studio
  2. Selecione Propriedades
  3. Selecione a guia Memória

Paramaisinformações,consulteesteartigo: Efeitos do servidor min e max memória

Quanto à alocação de memória por processo específico, você pode começar com Windows Resource Monitor

    
por 28.07.2014 / 20:20