Minha dica para descobrir qual aplicação está matando a performance da máquina (se não for a sua): de tempos em tempos veja no
Task Manager se algum processo está provocando mais alocação de memória que o normal. Mas lembre-se: o que aparece ali não é o consumo de memória real, mas o
Working Set que é alocado pelo Windows, a fim de agilizar a alocação de memória por parte do processo. Alguns aplicativos, conforme o tempo de execução, tem aquele valor bem aumentado. Meu Opera, por exemplo, começa com uns 20MB. Depois de algum tempo passa de 250MB (com está agora, enquanto digito essa mensagem). Mas a culpa não é propripamente dele. Se eu minimizar a aplicação, o valor cai drasticamente (testei agora: de 250MB foi pra 30MB). É o Windows que faz isso, ao sentir que a aplicação perdeu prioridade. E quando o consumo desse
Working Set aumenta muito, falta memória física e a solução é começar o
swap para disco. Quando uma página de memória é requisitada e o gerenciador não a encontra em RAM, vai buscá-la em disco, o que provoca novos swaps e os necessários rearranjos de memória. É quando a luz do HD nem apaga mais.
Aliás, se o problema estiver na sua aplicação, uma técnica para evitar que a sua memória vá parar nos cafundós do HD, é aumentar o nível de prioridade dela. Quando isso acontece, o gerenciador de memória, ao reprocessar seus índices internos (e decidir quem irá mofar no HD) levará em conta que uma aplicação de alta prioridade, mesmo que pouco acessada, precisa estar mais tempo disponível e vai preferir manter sua memória em RAM. É uma alternativa.
Outra opção é trabalhar diretamente com a reconfiguação do
Working Set da aplicação, pela API do Windows. Mas nunca testei isso. Seria o caso de fazer alguns testes e ver se muda alguma coisa.