Ainda preciso usar a memória virtual?

14

Eu teria pensado que isso já foi feito, mas não consigo encontrá-lo.

Em que ponto eu não preciso mais da memória virtual ativada? Com 4 GB de RAM, vejo que o computador raramente usa em qualquer lugar perto de tudo isso. Nesse ponto, a memória virtual não é estritamente necessária. Existe perigo em desligá-lo? Existem recursos que vou perder se eu fizer isso?

    
por Steve Rowe 14.10.2009 / 08:00

6 respostas

9

Como a memória não é exatamente um recurso escasso em PCs / laptops, duvido que a maioria dos programas possa manipular as condições de falta de memória de maneira elegante e que, em vez disso, ocorra uma falha. Então: Perigoso? Sim , se seus 4GB forem usados de alguma forma e você não tiver um arquivo de paginação, os aplicativos poderão começar a travar.
E como mostrado no exemplo de Zoran, pode ser difícil identificar o problema mais tarde.

O artigo, ao qual Ram se refere, também declara que transformar a troca normalmente não melhora a velocidade e pode fazer o contrário :

So while there may be some workloads that perform better with no paging file, in general having one will mean more usable memory being available to the system

    
por 14.10.2009 / 10:29
10

Veja o artigo de Mark Russinovich sobre a memória virtual. Isso deve lhe dar um bom ponteiro sobre a memória virtual.

Aqui está um trecho útil do link

So how do you know how much commit charge your workloads require? You might have noticed in the screenshots that Windows tracks that number and Process Explorer shows it: Peak Commit Charge. To optimally size your paging file you should start all the applications you run at the same time, load typical data sets, and then note the commit charge peak (or look at this value after a period of time where you know maximum load was attained). Set the paging file minimum to be that value minus the amount of RAM in your system (if the value is negative, pick a minimum size to permit the kind of crash dump you are configured for). If you want to have some breathing room for potentially large commit demands, set the maximum to double that number.

    
por 14.10.2009 / 08:04
3

Este post clássico no ServerFault tem alguns pontos positivos. Por apenas 4 GB eu deixaria o arquivo de paginação sozinho, e o espaço envolvido no disco é menor em qualquer caso.

    
por 14.10.2009 / 09:30
3

Eu recomendaria deixar as configurações da memória virtual como padrão. Eu tenho 8GB de RAM e desliguei a memória virtual pensando que eu iria ganhar em velocidade (por causa de não trocar), mas acontece que fez o meu sistema menos estável (e eu fiz isso em 2 máquinas, resultado semelhante). Eu estava experimentando um BSOD por semana, aproximadamente, em ambas as máquinas. Comecei a examinar os minidespejos produzidos e descobri que todos os BSODs foram acionados por uma chamada para uma rotina chamada KiPageFault. Então, tentei definir as configurações de memória virtual de volta para seus padrões e as BSODs normais desapareceram.

Demorei um bom tempo para correlacionar o 2, e não tenho nenhuma evidência real de que o fato de ter desativado a memória virtual tenha causado o BSOD, mas minhas máquinas ficaram mais estáveis depois que eu liguei novamente ...

    
por 14.10.2009 / 10:06
0

Depende de qual é sua carga de trabalho. Eu configurei um monte de frontends sem disco para um aplicativo da web. Eles iniciaram a rede e executaram tudo o que precisavam em 8 GB de RAM.

Eu também usei windows (98 provavelmente) com 32MB e nenhum arquivo de paginação - é claro que você tem que viver nesse espaço de memória e limitar seus aplicativos para se adequarem aos recursos.

Você quer ter certeza de que há alguma RAM extra para o cache de disco, caso contrário, o desempenho pode se tornar horrível.

Parece que lembro de alguns programas que não funcionam sem VM, mas não tenho ideia do que eles eram

    
por 14.10.2009 / 10:57
-2

Bem, Steve, é interessante que você pergunte isso.

Vou contar um pequeno segredo: o ponto em que você precisava de memória virtual nunca foi. A memória virtual foi uma idéia insanamente incompetente criada por um grupo de acadêmicos que não conheciam sistemas de computação práticos, e QUALQUER computador funcionará muito melhor se puder ser executado sem VM.

Agora, você pode perguntar: se a VM é inútil e prejudicial, por que a maioria dos grandes sistemas operacionais modernos a utiliza? A resposta curta para essa pergunta é que as pessoas que decidem usar VM ou não na Microsoft, Apple e IBM eram ainda mais estúpidas e inexperientes do que os acadêmicos que inventaram a VM e queriam adotá-la com base nas mesmas suposições completamente incorretas que a acadêmicos tinham quando eles inventaram isso. Poderíamos começar a falar sobre essas suposições e equívocos, mas, infelizmente, se fossem fáceis de entender e descrever, não teríamos o problema da MV em primeiro lugar.

Voltando para você. Infelizmente, assim como os atrasados atrasos da Apple e da Microsoft, você tem seus próprios equívocos, a saber, a ideia de desligar a VM. É claro que você não pode desligá-lo, o que derrotaria todo o propósito de transar com você se você pudesse simplesmente desligá-lo. Quando as pessoas fazem algo realmente estúpido, elas sempre se certificam de que é irreversível. Afinal, se todos pudessem desligar a VM, eles fariam, e isso faria os bozos que a criaram parecerem muito estúpidos, não é? Eles impediram essa possibilidade tornando-a inamovível, como a Microsoft tornando o Internet Explorer inelutável.

O que você pode fazer é limitar o tamanho do arquivo de página, que obviamente deve ser definido como o mínimo, esperançosamente 0. A memória virtual ainda está lá, mas pelo menos você pode reduzi-la de muito muito lenta para muito lento, pedindo para não envolver o drive de disco na insanidade.

    
por 18.04.2014 / 22:52