Como limitar a memória usada por um aplicativo no IIS?

11

Os processos de trabalho do IIS estão ocupando muita memória em nossos servidores. Eu quero limitar a memória que cada aplicativo pode usar. Estou confuso se devo definir um limite no Limite de Memória Virtual ou no Limite de Memória Privada. Cada aplicativo no nosso IIS está em seu próprio pool de aplicativos.

Se eu definir o limite de memória particular para 500MB e o limite de memória virtual para 3GB. Quando o pool de aplicativos recicla? Recicla depois de atingir 500MB ou depois de atingir 3GB.

    
por kishore 06.08.2010 / 17:47

1 resposta

14

O IIS respeitará esses dois limites.

Se você definir um limite de bytes privados de 500 MB, assim que um processo de trabalho tentar confirmar 501 MB, o IIS executará um novo processo de trabalho e eliminará o antigo.

Se você definir um limite de memória virtual de 3 GB, assim que um processo de trabalho tentar reservar 3.001 GB, o IIS iniciará um novo processo de trabalho e eliminará o antigo.

Se você estiver em uma plataforma de 64 bits, saiba que o aplicativo ASP.NET reserva a memória virtual de maneira agressiva. Por exemplo, eu tenho um aplicativo em um farm que usa apenas 88 MB de bytes particulares, mas agora está com tamanho virtual de 5,4 GB. Eu acredito que a reserva de memória virtual é uma função da RAM física no servidor. Também é importante entender que, em uma plataforma de 64 bits, reservar grandes partes da memória virtual não tem impacto no desempenho.

Basicamente, se você está tendo problemas de consumo de memória em um servidor IIS, a configuração que você deseja limitar é Memória Particular / Bytes, isso é o que corresponde ao uso de memória real.

    
por 06.08.2010 / 18:51