Opera torrent download usa memória inteira - nenhum processo culpado foi encontrado

2

Estou baixando o torrent com o despejo de dados do StackExchange. Havia cerca de 40% feito, hoje, quando eu cliquei em retomar, o computador pendurou e ficou praticamente inutilizável por cerca de 30 minutos.

Após alguns minutos, o explorer do processo foi aberto e descobri que o consumo de memória estava no nível de 95% (de 3 GB), o que explica por que o processamento de cada clique demora muito. No entanto, embora eu tenha exibido todos os processos, não consegui encontrar ninguém que estivesse usando tanta memória. A própria Opera estava usando cerca de 150MB. O Avast era quase invisível quando se refere ao uso de memória e consumo de CPU.

Minha máquina tem 3 GB de RAM e Windows 7 de 64 bits instalados. O antivírus é o Avast. O despejo de dados tem cerca de 11 GB.

Qual processo pode causar tanta utilização de memória na fase de verificação de arquivos torrent? Esse processo era invisível no modo de mostrar processos de todos os usuários.

    
por Danubian Sailor 16.05.2013 / 18:44

1 resposta

3

Pegue a ferramenta SysInternal chamada RAMMap .

Sua memória está sendo consumida pelo que é conhecido como arquivos mapeados na memória . É aí que o sistema operacional carrega uma parte de um arquivo grande na memória para acesso a uma solicitação de processo, porque é muito mais eficiente para solicitações aleatórias do que buscar repetidamente locais no arquivo no disco.

Programas de torrent fazem um LOT de acesso aleatório a arquivos, então eu estaria disposto a apostar que o Opera Torrent mmaps ( memory-maps ) seus arquivos; com toda a honestidade, essa é a melhor coisa para um cliente de torrent fazer.

O problema aqui é que durante a verificação de arquivos, o Opera Torrent acessará o arquivo inteiro sequencialmente. Isso faz com que o Windows carregue o arquivo inteiro na memória ou tente. Normalmente, ele tem apenas os fragmentos do arquivo que estão sendo baixados na memória, mas agora toda a sua memória está sendo usada desde que o Windows pensa que o Opera Torrent precisa que o arquivo inteiro permaneça na memória.

O motivo pelo qual o arquivo mmapped não é atribuído ao Opera Torrent é porque os arquivos mmapped são compartilhados entre os processos. Claro, o Opera Torrent pode ter solicitado que o arquivo seja mapeado na memória, mas se você abri-lo com o 7Zip, ele terá acesso ao mesmo arquivo mapeado na memória. Não há necessidade de desperdiçar memória carregando duas vezes! Mas agora, quem "possui" o arquivo?

    
por 16.05.2013 / 18:49