Como aumentar a memória alocada para o aplicativo .NET do IIS?

7

Estamos usando o Windows 2008 R2 e o IIS 7 em execução no Amazon EC2. O IIS está executando um único aplicativo .NET escrito em C #.

Estamos com problemas de desempenho e queremos dar mais memória ao aplicativo, mas não consigo descobrir como fazer isso. Como eu controlo a quantidade de memória que o CLR recebe?

Sou um novato total com o IIS, .NET e o CLR. Se eu estivesse trabalhando com Java, usaria apenas o sinalizador -Xmx para aumentar a memória disponível para a JVM (por exemplo, -Xmx3000m para 3 GB). Mas, não consigo descobrir como fazer isso no mundo do Windows.

    
por Mark Hansen 02.10.2012 / 19:18

1 resposta

7

O CLR hospedado no pool de aplicativos para o aplicativo da Web armazenará a quantidade de memória necessária e, em seguida, com base na demanda de memória, usará a coleta de lixo conforme necessário para liberar memória.

Você pode limitar a quantidade de memória acessível a um pool de aplicativos (na interface do usuário, por meio da caixa de diálogo Configurações avançadas ou do PowerShell e do módulo WebAdministration).

Você pode querer verificar se já existem limites definidos para a memória no pool de aplicativos, mas realmente não há uma maneira de dedicar mais memória diretamente a um pool de aplicativos sem editar o machine.config para a versão .NET. o aplicativo é executado em.

EDIT: A configuração automática padrão para limites de memória no IIS 7 é de 60% da RAM das máquinas. Isso pode ser aumentado manualmente editando o arquivo machine.config para a versão .NET na qual seu aplicativo é executado. Detalhes das várias configurações aqui.

    
por 02.10.2012 / 20:07