Questão Os computadores com mais RAM são potencialmente mais rápidos, se nem toda a memória estiver em uso?


Digamos que eu tenha um computador com 16 GB de memória. Se o meu computador geralmente usa apenas 4 GB e nunca chega a 8 GB, ele é mais rápido do que um computador com apenas 8 GB de memória (o mesmo tipo de)? O meu computador funcionaria igualmente rápido, removendo a outra metade dos 16 GB, deixando apenas 8 GB?


85


origem


Parte da dificuldade desta questão é que "em uso" é difícil de definir para qualquer sistema operacional moderno com memória virtual e arquivos mapeados na memória. Por exemplo, o segmento de código ("texto") de um programa em execução "usado" ou "cache"? - R..
Diferentes sistemas operacionais gerenciam a memória de maneira diferente. Nenhum sistema operacional foi indicado na questão. O termo "é uso" também pode significar coisas diferentes. Má pergunta, ainda pior resposta escolhida. - Jason
A memória menor é potencialmente mais rápida, já que há menos carga nos drivers de endereço de memória. Na prática, porém, duvido que as velocidades de clock sejam ajustadas para levar isso em conta, então não haveria diferença. (Isto está assumindo que a RAM "extra" ficaria lá como um pedaço e não de alguma forma seria usada). - Daniel R Hicks
Esta questão realmente precisa de uma definição de "em uso". Cada resposta (como a atualmente aceita) que o cache de declarações informa sobre um usar de memória. Esta é provavelmente a definição mais útil, mas separar os diferentes usos da memória seria útil. Eu suponho que talvez não queiramos discutir se a memória completamente não utilizada está ajudando ... - Nanne
Note também que ter o ram stick extra em si torna mais rápido, já que ambos devem poder ser acessados ​​em paralelo. - Tyzoid


Respostas:


Sim, porque o sistema operacional pode usar a RAM extra como cache de disco, o que acelera o acesso aos dados no disco.

RAM extra não vai fazer cálculos limitados à CPU (não envolvendo muito disco I / O) mais rápido, no entanto.


112



Qualquer RAM que não esteja sendo usada para outros propósitos. (A menos que você tenha mais memória RAM do que espaço em disco, o que é improvável). - Wyzard
Linux faz. Eu ficaria surpreso se o Mac OS não fizesse o mesmo. Seria bobo não fazer isso. - Wyzard
"Não mostra" onde? Corre free em um sistema Linux e observe a coluna "cache". Alguns aplicativos de nível superior (como o GNOME System Monitor) não reportam o cache como "em uso" porque a RAM está disponível para uso por outros programas; o kernel pode descartar caches a qualquer momento. - Wyzard
@PTwr - Nesse caso, o sistema operacional deve armazenar em cache esses arquivos e não deve dar tanta velocidade - um disco de RAM pode ajudar se você estiver escrevendo - mas medir a diferença de velocidade para ver se vale a pena - Mark
@khajvah linuxatemyram.com - Dan Neely


Como cada sistema operacional gerencia a memória de maneira diferente e nenhuma foi fornecida, responderei no contexto do Windows 7.

Abaixo está um exemplo de um computador com 24 GB de RAM. Mesmo que apenas 7 GB sejam atualmente alocados como memória "Em uso", outros 10 GB são alocados como memória "Standby" e contêm dados que podem ou não ser lidos novamente. Se for lido, tornará o seu computador "mais rápido". A memória "Livre" não está sendo utilizada no momento.

Resource Monitor

  • "Disponível" é a memória de espera e livre. Em outras palavras, toda a memória não é necessária no momento.
  • "Em cache" é a memória em espera e modificada. Toda a memória utilizada para armazenamento em cache, sendo modificada a parte esperando para ser gravada no disco antes de se tornar em espera.
  • A memória "total" é toda a memória, exceto o hardware reservado.

Se você quiser saber mais sobre o uso de memória no Windows 7, o TechRepublic um ótimo artigo.


59



Então, o que aconteceria se esse computador, sob essa carga, tivesse outros 8 GB adicionados? Eu suspeito de "nada", mas também suspeito que um usuário com uma carga mais pesada ou com mais tempo de atividade terá muito mais em cache.
@JonofAllTrades eu concordaria. Uma coisa que o artigo que eu vinculei não é sobre o SuperFetch (um serviço padrão no Windows 7). SuperFetch carrega coisas na memória antes eles são acessados. Ele registra padrões de uso em um arquivo e leva vários reinícios / dias para otimizar totalmente. - Jason
Isso também acontece no Linux? - Kin


Se o sistema operacional estiver usando apenas 4 GB de 8 GB, ele não funcionará de maneira diferente em uma máquina usando 4 GB de 16 GB.

O carneiro que não é utilizado não tem impacto no desempenho da máquina.

No entanto, a situação ideal é que o SO use quase todos RAM disponível. O SO e os aplicativos solicitarão o que precisam, e o restante do RAM deverá ser usado como cache - com uma parte livre, talvez, para evitar a troca, se um aplicativo precisar de mais memória ram. Cache ainda conta como sendo "usado" e aparecerá como sendo usado em ferramentas livres de memória.

O cache demorará a ser acumulado para que você não veja isso na inicialização. Se depois de um tempo, a máquina ainda não estiver usando mais que 4GB, então talvez esteja rodando um sistema operacional de 32 bits que não consiga endereçar mais de 4GB (normalmente).


16



Depende se você considera o cache de disco como RAM "usada". O Linux free programa relata as duas coisas, por exemplo. - Wyzard
Eu acho que o gui representa para um usuário e a situação real pode ser diferente. A RAM usada para o cache é usada independentemente de uma ferramenta do usuário ter ocultado esse fato ao usuário. - Paul
"Se depois de um tempo a máquina ainda não estiver usando mais de 4GB ..." -> Novamente, o cache de disco é ótimo, mas ele não vai realmente encher toda a sua RAM livre se você tiver muitas coisas que podem ser armazenadas em cache do disco - apenas caches o que você realmente usou e agora não são, o que provavelmente não equivale a mais que um par de GB, a menos que suas atividades normais incluam grandes quantidades de photoshop, etc. ou o computador seja um servidor ocupado com muitos arquivos estáticos. - goldilocks
@goldilocks Obviamente "depois de um tempo" é vago, mas pretende significar "depois de tal duração que o Windows e os aplicativos tiveram que carregar dados suficientes que excedam 4GB". Meu uso é bastante rotineiro e excede isso rotineiramente. O ponto é que, se esse limite está sendo atingido, pode estar resolvendo a restrição em vez da falta de necessidade de mais cache. - Paul


Outra parte da equação é como os cartões de memória são configurados. Especificamente, placas-mães modernas suportam memória dual-channel que permite duplicar a largura de banda entre a placa-mãe e a memória; se você tivesse emparelhado memória e você tirou 1 de cada par, você perdeu isso e assim o seu acesso à memória ao fazer um monte de transferências de memória será diminuído o que deve resultar em operações que levam mais tempo. (Ao contrário, se você tivesse 8 Gigs de memória mais veloz emparelhados com 8 Gigs de memória mais lenta e estivesse usando apenas 8 Gigs, eliminando os 8 GB de mais lenta e consertando o mais rápido, você pode correr mais rápido, mas não não precisa desacelerar para a memória mais lenta)

Mas, em geral, o material de cache mencionado em outras respostas será um contribuinte maior para o desempenho geral.


9





Remover metade dos seus 16 GB de memória irá diminuir o desempenho do seu computador.

Isso vale mesmo se você nunca usar perto de 8 GB de memória.

O lado do software é coberto por outras respostas e resume-se ao sistema operacional para usar a RAM em vez de disco.

No entanto, você pode ver um impacto no desempenho do hardware reduzindo pela metade a quantidade de RAM disponível. O motivo é que os barramentos RAM usam arquitetura multicanal, o que significa que o computador pode transferir dados entre vários módulos de RAM simultaneamente.

Provavelmente você computador é dual channel. Nesse caso, você pode remover 2 dos 4 módulos de 4 GB de RAM sem impacto no desempenho exigido pelo hardware. No entanto, a remoção de 1 de 2 módulos RAM de 8 GB afetará a performance.

Se você tiver uma arquitetura de RAM de quatro canais, verá um ganho de desempenho, mesmo se o seu ram for de 4 GB.


3





Se a memória estiver no máximo ou 99%, você perderá velocidade por causa do arquivo de página que fica no disco rígido. O disco rígido não pode nem chegar perto da velocidade da RAM, sendo que a RAM é acessada diretamente pelo cpu, dependendo da velocidade do barramento.

O Windows usa cerca de 3-4 GB ociosos de memória ram, sem contar com outros aplicativos. Eu tenho funcionado 16 GB por anos agora e nunca realmente precisei mais de 8gb. Realisticamente, os usuários do avg PC nunca usam mais de 4-6 GB para jogos. Eu só vi chegar perto de 12 gb uma vez ao comprimir um filme ou fazer algo que a RAM intensiva normalmente tem a ver com multimídia e CPUs de múltiplos núcleos seria a única maneira que você precisaria de mais de 8GB. e sim, seria executado com a mesma rapidez. OMI

Inativo após 1 dia de atividade: enter image description here enter image description here

Inativo após 2 dias de atividade: enter image description here enter image description here

Quanto mais RAM o Windows tem, mais RAM parece usar.

enter image description here

Em termos do Windows 7, utilizar a RAM para tornar certos processos mais rápidos é um exemplo.

enter image description here

Chkdsk maximizando a memória RAM para acelerar o cache, por sua vez, acelera o desempenho e o tempo de verificação de disco, portanto, neste caso, mais de fato = mais rápido ...


2



Windows 7? Mesmo com muitas coisas, dificilmente vou mais de 2G. - Simon Kuang
Quanto mais RAM o Windows 7 tiver, mais ele usará ... as horas extras irão flutuar devido aos programas que você abriu e estão atualmente abertos até que os serviços e aplicativos liberem a memória que irá flutuar de forma constante ... em relação à questão atual. O tamanho de 8 GB será tão rápido quanto 16 GB, sim e não, dependendo do que você está usando o seu computador. Em circunstâncias normais, você não deve precisar de mais do que 8GB e não verá nenhuma perda real de desempenho se for para usos comuns, como jogos ou navegação na web. - MORBiD


Na prática, é mais provável que a resposta seja "NÃO" para a questão, conforme declarado. O Q. diz que "(uso) nunca chega a 8 GB" e menciona "mesmo tipo de memória", portanto, o fator mais provável que afeta a velocidade (buffer de disco) não será afetado. Um exemplo prático comum são os servidores de banco de dados com memória suficiente para armazenar em buffer o disco rígido completo - por exemplo, com 4 GB de arquivos e 2 GB de memória alocada de processo / sistema não se beneficia de mais de 8 GB de memória.

Exceções:

Mais memória pode retardar a Hibernação - no meu sistema com 32 GB de memória e disco SSD, uma inicialização a frio é significativamente mais rápida do que despertar da hibernação, pois economiza 32 GB em hibernação, mas uma inicialização a frio requer muito menos para ser lida. Reduzir a memória aceleraria o sistema.

Seria mais rápido se você acessasse mais o disco rígido e a maioria das pessoas tivesse mais uso de disco do que a memória que sobrava para armazenar em buffer, portanto, a memória extra ajuda. Também muitos O / S relatam apenas parte do uso como "uso" e o resto é contado como buffer não "uso". (O Linux relata o uso inclusivo e exclusivo de buffering).

Os canais de memória afetam o desempenho: [Se a remoção da memória significa que você reduz o número de canais de memória em uso, o sistema diminuiria a velocidade conforme Foon apontasse corretamente]

[edit:] David Schwartz comentou que a redução da memória reduz os limites para mapeamentos de memória modificáveis ​​em janelas. O Windows aparentemente limita o total dessas reservas ao total de memória mais swap para que você possa ficar sem esse recurso mesmo que haja "memória livre" informada (já que a memória real / swap não é alocada até que uma página seja acessada, não é contados como uso de memória). O Linux se comporta de maneira diferente - cada processo pode alocar até o total de memória e tamanho de swap, e o total de todos os processos pode exceder o total de memória mais swap.


2



Você basicamente apenas afirma que "não" é a resposta correta, mas não diga por quê. - David Schwartz
Isso foi em resposta à resposta aceita - eu não tenho os pontos de repetição para comentar diretamente - desculpe pela confusão. Para esclarecer, no caso de não ser óbvio, você só usa tanta memória para o buffer do disco rígido quanto é realmente lido ou escrito - se não houver muito uso de disco, ou nunca é acessado, então memória extra não Não faça diferença. - iheggie
O exemplo que dei do servidor de banco de dados é um exemplo onde a memória extra faz pouca diferença - todo o disco em uso fica armazenado em buffer. - iheggie
E quanto ao fato de que mais RAM significa mais armazenamento de apoio, o que pode permitir que o sistema operacional permita alocações que, de outra forma, seriam recusadas? - David Schwartz
No meu exemplo do servidor de banco de dados - nenhuma diferença, uma vez que nunca recusaria uma alocação devido à falta de memória livre. Que alocação o O / S recusaria se a. todos os processos em memória, b. todo o disco já estava em buffer na memória, c. tinha memória livre e d. algum outro limite não foi excedido (por exemplo, limites máximo de tamanho de processo / buffer / endereçável)? - iheggie


A fragmentação de memória é outro motivo para ter memória extra. Se você tem 8GB de RAM, e você tende a usá-lo 80%, particularmente em casos de uso modernos (com muita troca de memória, como abrir e fechar as abas do navegador), você eventualmente obterá uma fragmentação significativa.

Adicionar os 8 GB extras de RAM torna mais provável que o sistema operacional encontre espaços contíguos de memória disponíveis, o que significa que reinicializações menos frequentes são necessárias para evitar a degradação do desempenho.


0



Meu entendimento é que a fragmentação da memória é algo que pode ocorrer dentro do espaço de memória de um processo, que é virtual em sistemas modernos típicos, e que não se aplica ao sistema em geral. Como a memória física é dividida em páginas, que são mapeadas individualmente nos espaços de memória virtual dos processos, a fragmentação seria um conceito sem meninging. Por favor, corrija-me se eu tiver entendido mal alguma coisa. - Thomas Padron-McCarthy


Possivelmente, mas não necessariamente. Entre outras coisas, uma das coisas que a RAM permite que um computador faça é permitir que o aplicativo aloque memória que eles nunca poderão usar. Se o sistema não tiver armazenamento de backup suficiente (o que inclui RAM) para permitir que toda alocação emitida até o momento consuma tanta memória seja possível, o sistema operacional terá que recusar essas alocações ou comprometer excessivamente. Alguns sistemas operacionais nunca supercomprometem e praticamente todos os sistemas operacionais modernos limitam a quantidade de comprometimento excessivo que eles permitem.

Portanto, a memória que não está em uso pode melhorar o desempenho, permitindo operações que potencialmente exigem que a RAM seja bem-sucedida, caso contrário, elas falharão.


0





Mais memória ram não acelera o computador. Menos memória "retarda" o computador.

Os computadores têm sua velocidade máxima física (isso inclui o overclocking também) e nada pode torná-los mais rápidos do que isso.


-1



Como mostrado na resposta de Wyzard, o "computador" como um todo inclui acesso ao disco, onde mais memória RAM permite mais cache e, portanto, acelera. - please delete me
Você quer dizer que podemos aumentar o limite de velocidade física de um computador adicionando terabytes de memória RAM? - Xtro
Levando os discos rígidos em conta, sim. - please delete me
BTW, menos RAM nem sempre desacelera o computador. O cache L3 muitas vezes desacelerou o computador por causa de falhas de cache. - please delete me
Eu acho sua resposta tautológica. Sim, o 'limite máximo de velocidade' da CPU é a velocidade máxima da CPU. Bom show. No entanto, de um prático ponto de vista, em comparação com um PC com apenas RAM suficiente, um PC com excesso de RAM irá executar um pouco mais rápido. - Joe