Isso é apenas um trabalho normal e tudo está funcionando corretamente. O Windows não está armazenando arquivos em cache na memória em detrimento de outros dados - arquivos em cache significam que, em um ponto, o Windows tinha para carregá-los na memória ou lê-los no disco, e algo de maior prioridade não chegou junto desde aquele tempo. Assim que você retomar o uso do computador e os programas solicitarem a memória, o Windows terá todo o prazer em remover os arquivos armazenados em cache para liberar espaço.
Se você olhar para o RAMMap, notará que a maioria desses arquivos em cache estão alocados em "Standby" - isso significa que ele está sendo mantido na memória porque o Windows precisava dele no passado, pode precisar dele novamente e felizmente descartá-lo se alguma outra coisa realmente precisar do espaço.
Basicamente, o que você está vendo aqui é que seu programa solicita que um arquivo grande de dados seja carregado, então o Windows o carrega na memória. Gerenciar memória é um processo muito complexo, e o que o Windows está fazendo aqui é fazer uma avaliação: ele analisa os processos atuais e vê que o Chrome está ocupando, digamos, 5 GB de memória (muitas guias!), Mas que a maior parte da memória não foi tocada na última hora. Nesse ponto, ele tem uma opção: pode deixar o Chrome na memória e não armazenar em cache os arquivos. Isso significa que o processo do Cataloger pode levar horas em vez de minutos para processar um arquivo, especialmente se ele estiver pulando muito no arquivo; ou pode arquivar as guias do Chrome e carregar o arquivo Cataloger na memória e concluir esse processo rapidamente.
Agora, você sentirá dor quando o Windows tiver que voltar ao Chrome, mas o Windows não fará isso até que você o solicite (ou seja, coloque o chrome de volta no primeiro plano e selecione uma guia que foi paginada) e o que, em última análise, precisa ser avaliado por você é se a dor é maior ou menor do que a dor da tarefa do Catalogador ter que esperar pela memória. Você pode tentar executar o programa como um serviço e dizer ao Windows para otimizar a capacidade de resposta, ou tentar diminuir a prioridade do processo, mas tenho certeza de que o que você vai querer é que o processo do Cataloger seja concluído o mais rápido possível. está maximizando o seu disco de E / S, todo o seu sistema vai ser incrivelmente lento. Tudo o que requer E / S de disco será colocado em uma fila (até mesmo webbrowsing - ele tem um cache que também usa!). Os programas abrirão lentos, novas abas serão abertas rapidamente, mas, na verdade, usá-las para algo será lento.
Se o programa estiver lendo sequencialmente arquivo após arquivo e depois não tocá-lo novamente, concordarei que o Windows não precisa estar armazenando os arquivos em cache. O problema aqui é que o Windows não sabe disso, porque ninguém está dizendo que eles não precisam ser armazenados em cache.
Se você tiver acesso ao código-fonte do programa Cataloger (ou pode solicitar que modificações sejam feitas), ele poderá ser configurado para abrir arquivos com FILE_FLAG_NO_BUFFERING
, o que fará com que o Windows ignore o cache de disco para arquivos abertos pelo programa dessa maneira.
Se isso não for uma opção, a menos que o processo do Cataloger tenha para ser executado em seu sistema, eu olharei em volta para ver se há um computador reserva que não está sendo usado e se ele puder ser configurado como uma máquina dedicada para catalogar esses arquivos. Se já não houver um, simplesmente aumentar sua memória RAM pode ser outra opção; os preços de memória são bastante baratos hoje em dia, e os desenvolvedores sabem disso - a maioria das coisas é otimizada para velocidade e capacidade de resposta ao custo da memória. 8GB não é o que costumava ser.
Outra opção é mover todos os arquivos que ele usa para um disco rígido separado e, especificamente, desativar o cache de disco para essa unidade.