O uso da memória virtual de um processo de trabalho do IIS pode exceder o limite de memória particular?

6

Por exemplo, se eu configurar os seguintes limites para um pool de aplicativos nas configurações de "Reciclagem":

Virtual Memory: 512Mb
Private Memory: 128Mb - ou "memória usada" no jargão do IIS 6

O processo pode usar, digamos, 90Mb de memória física, mas solicitou o uso de 256Mb de memória virtual e, portanto, não acionou uma reciclagem?

    
por Kev 09.09.2010 / 20:15

2 respostas

5

Sim Seria comum que um processo de trabalho do IIS usasse mais memória virtual do que a memória física. Para ver você mesmo, baixe uma cópia do ProcessExplorer e examine a memória de processo de um dos IIS processos de trabalho.

Como um exemplo da captura de tela abaixo, do ProcessExplorer em um servidor IIS 6, Você pode ver que este processo de trabalho do IIS está usando ~ 195MB de memória virtual e ~ 37MB de memória física (conjunto de trabalho).

Para obter uma explicação sobre o relacionamento entre os diferentes tipos de memória, consulte esta pergunta do StackOVerflow O que são bytes privados, bytes virtuais, conjunto de trabalho?

Portanto, com base nos limites que você configurou usando um processo de trabalho do IIS que está usando 90 MB de físico e 256 MB de virtual, não acionaria uma reciclagem do pool de aplicativos.

    
por 08.11.2010 / 06:07
2

Você deve usar o Monitor de Desempenho para entender o uso de memória de um processo específico. Você deve usar Virtual Bytes e Working Set para entender a memória usada por um processo específico.

Agora, vamos abordar sua pergunta original. Você está tentando adicionar uma opção de reciclagem a um pool de aplicativos, posso fazer a pergunta: por que você deseja implementar a reciclagem no processo de trabalho? Se você está preocupado com a quantidade de memória usada pelo processo, você deve solucionar o problema de memória e não limitar o processo.

    
por 08.11.2010 / 07:48