O Process Explorer não mostra o maior usuário da minha RAM

6

Alguém sabe por que o Process Explorer pode mostrar esses valores estranhos para uso de memória da minha instância do Virtual Box?

Aqui estão os números reais:

MaseisoqueoProcessExplorerestámostrando:

Assim,oprocessoconfirmou1,2GBdeVM,dosquais1,1GBsãoprivados.MasoProcessExplorerestávendoapenas196MBdeVMeapenas48MBdememóriaprivada!Oqueestáacontecendoaqui?

EDIT:Estamemórianãoéapenasreservada.Naverdade,eleéusado:

    
por RomanSt 06.09.2010 / 18:41

4 respostas

4

Mark Russinovich gentilmente explicou que isso ocorre porque o bloqueio do VirtualBox uma grande quantidade de memória, que solicita ao sistema operacional para mantê-lo no conjunto de trabalho .

No entanto, se você tentar VirtualLock ing um monte de RAM, você não verá isto. Toda aquela RAM será felizmente contabilizada, como deveria ser. Então, é algo mais sobre o modo como o VirtualBox aloca essa memória. Aliás, também afeta o ProcessHacker.

A coisa estranha sobre isso é que o ProcessHacker enumera todos os intervalos de memória alocados corretamente, e simplesmente adicioná-los dará o valor correto, no entanto, o contador relatado pelo sistema operacional está errado. Por alguns GB. Não é bom!

Eu estou chamando isso de um capricho do relatório de RAM do Windows. Eu chamaria isso de bug, mas provavelmente já existe há pelo menos uma década, então agora eu acho que podemos chamar esse comportamento esperado ... um que não é bem trabalhado no Process Explorer nem no Process Hacker.

    
por 17.09.2010 / 20:41
1

O VMMap pode ter um bug que faz com que o Committed inclua páginas ou páginas descartadas no arquivo de troca.

Portanto, agora parece uma memória inativa ... É alocada apenas como uma reserva (ou como um bug).

O conjunto de trabalho contém apenas memória ativa, VMMap e Process Explorer mostram o mesmo WS ...

    
por 06.09.2010 / 18:51
0

De RAM, memória virtual, arquivo de paginação e todas essas coisas :

Memory, Committed Bytes: This is a measure of the demand for virtual memory. It shows how many bytes have been allocated by processes and to which the operating system has committed a RAM page frame or a page slot in the pagefile (or both). As Committed Bytes grows above the available RAM, paging increases, and the amount of the pagefile in use also increases. At some point, paging activity starts to significantly affect perceived performance.

Portanto, acredito que o valor de Bytes Confirmados não tem nada a ver com o VirtualBox - é apenas a soma total de páginas RAM físicas de todos os processos em execução no sistema. Nesse caso, os dados retornados pelo Process Explorer estão corretos.

    
por 06.09.2010 / 18:50
0

Usando o RamMap do SysInternals, acho que você pode ver que o RAM está registrado como 'DriverLocked'.

No entanto, não tenho idéia de como você realmente trabalha de volta para o driver que bloqueou. E, mais importante, o driver não será o programa VirtualBox, mas sim um driver que o VirtualBox instalará e usará.

Se simplesmente desligar as máquinas virtuais não libera ram do pool 'DriverLocked', você pode usar uma ferramenta como AutoRuns para ver quais drivers são carregados na inicialização e desativá-los. É um processo manual, então seria muito interessante se alguém soubesse dizer quais drivers bloquearam a memória.

    
por 30.10.2013 / 12:46