Ainda preciso usar a memória virtual?

14

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

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

Steve Rowe
fonte
11
Atenção: Há apenas uma quantidade limitada de memória fornecida aos drivers, denominada seções de memória non-pagede pagedpool . Um arquivo de paginação é necessário para quando a seção paginada ficar cheia, como jogador, vi um jogo reclamar da memória do pool paginável apenas porque meu arquivo de paginação foi desativado em um sistema de 8 GB. Conclusão: os arquivos de paginação são necessários, impedem o esgotamento do pool paginado e realmente aceleram o sistema.
Tamara Wijsman

Respostas:

9

Como a memória não é exatamente um recurso escasso nos PCs / laptops de mesa, duvido que a maioria dos programas possa lidar com condições de falta de memória normalmente e, em vez disso, trava.
Então: Perigoso? Sim , se seus 4 GB estiverem esgotados e você não tiver um arquivo de paginação, os aplicativos poderão começar a falhar.
E, como mostrado no exemplo de Zoran, pode ser difícil identificar o problema posteriormente.

O artigo ao qual Ram se refere também afirma que desativar a troca geralmente não melhora a velocidade e pode fazer o contrário :

Portanto, embora possa haver algumas cargas de trabalho com melhor desempenho sem nenhum arquivo de paginação, em geral, ter uma significa que mais memória utilizável estará disponível para o sistema

fora
fonte
Vou ter que desenterrar o artigo no site da MS, mas a MS diz que você deve sempre ter um arquivo de paginação. Mesmo em sistemas com alta memória, não ter um pode tornar sua máquina mais lenta.
Keltari
10

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

Aqui está um trecho útil do link

Então, como você sabe quanto cobra de confirmação suas cargas de trabalho exigem? Você deve ter notado nas capturas de tela que o Windows rastreia esse número e o Process Explorer mostra: Peak Commit Charge. Para otimizar o tamanho do seu arquivo de paginação, você deve iniciar todos os aplicativos executados ao mesmo tempo, carregar conjuntos de dados típicos e anotar o pico de taxa de confirmação (ou observar esse valor após um período em que você sabe que a carga máxima foi atingida) . Defina o arquivo de paginação mínimo como esse valor menos a quantidade de RAM no seu sistema (se o valor for negativo, escolha um tamanho mínimo para permitir o tipo de despejo de memória para o qual você está configurado). Se você quiser ter algum espaço para respirar para demandas de confirmação potencialmente grandes, defina o máximo para dobrar esse número.

Prabhu R
fonte
+1 para referência de Mark Russinovich. Sempre uma ótima leitura.
Mrduclaw 14/12/2009
3

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

MartW
fonte
3

Eu recomendo deixar as configurações de memória virtual para o padrão. Eu tenho 8 GB de RAM e desliguei a memória virtual pensando em ganhar velocidade (por não haver troca), mas isso tornou meu sistema menos estável (e fiz isso em duas máquinas, resultado semelhante). Eu estava experimentando um BSOD por semana aproximadamente, nas duas máquinas. Comecei a examinar os minidumps produzidos e descobri que todos os BSODs eram acionados por uma chamada para uma rotina chamada KiPageFault. Então, tentei definir as configurações de memória virtual de volta aos padrões e os BSODs comuns desapareceram.

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

Zoran
fonte
Obrigado. É bom ouvir resultados reais e não apenas suposições.
9788 Steve
0

Depende da sua carga de trabalho. Eu configurei um monte de interfaces sem disco para um aplicativo da web. Eles inicializaram em rede e executaram tudo o que precisavam dentro de 8 GB de RAM.

Também usei o Windows (98 provavelmente) com 32 MB e nenhum arquivo de paginação - é claro que você precisa morar nesse espaço de memória e limitar seus aplicativos de acordo com os recursos.

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

Lembro-me de que existem alguns programas que não serão executados sem a VM, mas não tenho ideia do que eram.

mordedor
fonte
-2

Bem, Steve, interessante que você pergunte isso.

Vou lhe contar um pequeno segredo: o ponto em que você precisava de memória virtual nunca foi. A memória virtual era uma ideia incrivelmente incompetente criada por um grupo de acadêmicos que não sabia nada sobre 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 usa? A resposta curta para essa pergunta é que as pessoas que decidiram usar ou não a VM 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 de que o acadêmicos tinham quando o inventaram. Poderíamos começar a falar sobre essas suposições e conceitos errôneos, mas, infelizmente, se eles fossem fáceis de entender e descrever, não teríamos o problema da VM em primeiro lugar.

Voltando para você. Infelizmente, assim como os atrasnoggins mencionados acima na Apple e na Microsoft, você tem seus próprios conceitos errôneos, a saber, a ideia de que pode desativar a VM. Obviamente, você não pode desligá-lo, isso derrotaria todo o propósito de te ferrar se você pudesse simplesmente desligá-lo. Quando as pessoas fazem algo realmente estúpido, 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 estúpidos, não? Eles impediram essa possibilidade, tornando-a irremovível, como a Microsoft tornou o Internet Explorer irremovível.

O que você pode fazer é limitar o tamanho do arquivo de paginação, que é claro que deve ser definido como o mínimo, espero que seja 0. Memória virtual ainda está lá, mas pelo menos você pode reduzi-la de muito, muito, muito lenta para apenas, muito, muito lento, pedindo para não envolver a unidade de disco na loucura.

Tyler Durden
fonte
A memória virtual permite muitas coisas boas. Se você não tivesse memória virtual, teria que ter RAM suficiente para armazenar cada byte de código e dados que todos os processos em seu sistema definam, independentemente de algum dia ter sido realmente referenciado. Como a maioria dos programas gasta 90% de seu tempo usando 10% de seu código e dados, isso seria um grande desperdício. Você também perderia muitas outras coisas úteis, que o formato do comentário aqui não me dá espaço para descrever. A razão pela qual não abandonamos a memória virtual é que ainda é uma ideia muito, muito boa. Mesmo em "sistemas de computação práticos".
21717 Jamie Hanrahan
@ RickBrant Você parece os engenheiros elétricos idiotas da Intel e da IBM que costumo ouvir nos anos 80, tentando explicar por que a VM era uma boa idéia. Lembro-me de quando a IBM lançou o OS / 2, que foi o primeiro cérebro danificado pelo sistema operacional com a VM, tendo que ouvi-los explicar por que era uma ótima idéia. Bem, graças a Deus o OS / 2 morreu, mas, infelizmente, a VM continuou, como um zumbi, então aqui está 2017 e eu ainda estou ouvindo esse absurdo. você? Essa é a parte da piada. 99% dos caras que promovem VM não são programadores
Tyler Durden
Na verdade, eu era uma dupla graduada, CS / EE, em uma das melhores escolas de tecnologia da costa oeste. Hoje sou principalmente programador, mas interajo com tipos de hardware. Agora, você tem uma refutação convincente ao ponto de que seria muito dispendioso manter todo o último byte de código e dados que um programa define na RAM o tempo todo, se é necessário ou não? Porque a memória virtual evita isso. Ou você continuará com ataques pessoais que equivalem a "você deve ser um idiota"?
Jamie Hanrahan
Ah, e re "OS / 2, que foi o primeiro cérebro do sistema operacional danificado com a VM" , hum, não, em cerca de duas décadas. Talvez o primeiro sistema operacional amplamente usado para PCs. (Mas não o primeiro para "computadores pessoais".)
Jamie Hanrahan