O erro Not enough storage available
não tem nada a ver com o armazenamento em disco. É sobre a memória interna.
Este erro é muito fácil de reproduzir. Basta selecionar um monte de arquivos grandes (imagens ou DLL's ou qualquer outro), clique com o botão direito do mouse e use a opção open-with para abri-los todos com o Bloco de Notas. Isso deve consumir a memória interna. Quando o arquivo de troca se aproxima da sua capacidade máxima, os serviços aleatórios começarão a registrar Not enough storage available
no log de eventos. Muitas vezes eles ficam em estado de falha até serem reiniciados.
Eu me deparei com esse problema com meus próprios serviços e tive que adicionar algum tratamento extra de erro para forçar o processo do serviço a sair quando um erro desse tipo ocorresse em um thread. Dessa forma, o serviço seria reiniciado e recuperado de maneira automatizada.
O IIS geralmente lida com essa situação muito bem (comparado a um serviço médio do Windows).
Para encontrar o processo que causa isso (geralmente um vazamento de memória), você deve usar o monitor de desempenho mmc snap-in e registre o uso de memória dos processos em execução (seja seletivo ao decidir o que gravar, pois esses arquivos de log podem se tornar muito grandes). Outra opção seria usar xperf , o que é realmente mais adequado para depurar drivers de baixo nível e, portanto, também pode ser útil neste cenário.
Se for o serviço w3wc que consome toda a memória, você pode usar uma ferramenta como o novo Insights de aplicativos (ou qualquer outra ferramenta de monitoramento do IIS) para descobrir qual pool de aplicativos, aplicativo da Web ou site é responsável. Em seguida, você pode restringir o uso de memória para esse pool específico ou agendá-lo para reciclar normalmente.
O IIS geralmente pode executar um ciclo de um pool de forma que ninguém perceba (dependendo de como o aplicativo lida com as sessões, se ele for personalizado, você poderá perder sessões quando todas as variáveis estáticas forem liberadas). Muitas vezes, uma solução alternativa como essa é boa o suficiente, e a fixação cara do bug pode ser evitada (disclaimer: esse não é o "meu estilo" de resolver problemas, mas a maioria das partes interessadas adora isso dessa maneira).