A memória virtual está esgotada quando há memória física livre?

0

Meu firefox de repente se torna lento e depois congelou. Eu abri o Process Explorer para ver o que está acontecendo e notei que o thread principal do firefox.exe estava preso na função kernal NtAllocateVirtualMemory . Naquela época, o processo estava usando apenas 1,5 GB de espaço de memória virtual e eu tinha mais de 1 GB de limite de confirmação livre e pelo menos 1 GB de RAM livre. Eu pensei que o espaço de memória do Firefox poderia ter se tornado muito fragmentado, então eu o matei.

Então eu tenho um gráfico surpresa como abaixo.

Como você pode ver, sempre houve RAM livre durante todo o período, mas eu parecia ter atingido o limite de commit de qualquer forma. Os arquivos de paginação estão definidos como gerenciados pelo sistema e a unidade do sistema tem mais de 17GB livres, então não tenho idéia de como eu poderia atingir o limite .... Alguma idéia sobre isso?

O sistema é o Windows 10 build 10586. Eu tenho 8GB de RAM.

(Parece que o Firefox ou algo relacionado reivindicou um espaço oculto de 3-4 GB de memória virtual. Acho que poderia ser o driver de exibição, mas por que o sistema não expandiu o arquivo de paginação?)

    
por billc.cn 16.01.2016 / 00:58

1 resposta

3

Memória física e limite de confirmação são recursos distintos. Você pode ficar sem um, embora tenha muito do outro à esquerda. Você provavelmente precisa de um arquivo de página maior para aumentar o limite de confirmação.

A memória física é muito parecida com dinheiro no banco. O limite de confirmação é muito parecido com verificações que você já escreveu. Mesmo que você tenha muito dinheiro no banco, se tiver feito muitos cheques, talvez não consiga redigir mais cheques.

Digamos que você tenha um sistema com 3 GB de RAM livre e nenhum arquivo de página. E diga que um aplicativo pede 2 GB de memória. O sistema dirá "sim" e aumentará o limite de confirmação em 2 GB. O sistema ainda possui 3GB de RAM livre, pois o aplicativo ainda não utilizou nenhum. Mas se outro aplicativo solicitar 2 GB de memória, o sistema operacional terá que recusar. Ele tem 3GB no banco, mas escreveu um cheque de 2GB, então ele não pode escrever outro cheque de 2GB.

    
por 16.01.2016 / 01:14