¿Las computadoras con más RAM son potencialmente más rápidas si no se usa toda la memoria?

85

Digamos que tengo una computadora con 16 GB de memoria. Si mi computadora usualmente usa solo 4 GB y nunca alcanza los 8 GB, ¿es más rápida que una computadora con solo 8 GB de (el mismo tipo de memoria)? ¿Mi computadora funcionaría igual de rápido eliminando la otra mitad de los 16 GB y dejando solo 8 GB?

Keavon
fuente
17
Parte de la dificultad de esta pregunta es que "en uso" es difícil de definir para cualquier sistema operativo moderno con memoria virtual y archivos mapeados en memoria. Por ejemplo, ¿el segmento de código ("texto") de un programa en ejecución es "usado" o "caché"?
R ..
55
Los diferentes sistemas operativos administran la memoria de manera diferente. No se ha indicado ningún sistema operativo en la pregunta. El término "es uso" también puede significar cosas diferentes. Mala pregunta, incluso peor respuesta elegida.
Jason
La memoria más pequeña es potencialmente más rápida, ya que hay menos carga en los controladores de dirección de memoria. Sin embargo, en la práctica, dudo que las velocidades del reloj se ajusten para tener esto en cuenta, por lo que no habría diferencia. (Esto supone que la RAM "extra" simplemente se quedaría allí como un bulto y no se usaría de alguna manera.)
Daniel R Hicks
3
Esta pregunta realmente necesita una definición de "en uso". Cada respuesta (como la actualmente aceptada) que reclama caché informa sobre el uso de la memoria. Esta es probablemente la definición más útil, pero sería útil separar los diferentes usos de la memoria. Supongo que quizás no queramos discutir si la memoria completamente no utilizada está ayudando ...
Nanne
También tenga en cuenta que tener el ram ram adicional lo hace más rápido, ya que se debe poder acceder a ambos en paralelo.
Tyzoid

Respuestas:

112

Sí, porque el sistema operativo puede usar la RAM adicional como caché de disco, lo que acelera el acceso a los datos en el disco.

Sin embargo, la RAM adicional no hará que los cálculos vinculados a la CPU (que no impliquen mucha E / S de disco) sean más rápidos.

Wyzard
fuente
31
Cualquier RAM que no se esté utilizando para otros fines. (A menos que tenga más RAM que espacio en disco, lo cual es poco probable).
Wyzard
30
Linux lo hace. Me sorprendería si Mac OS no hiciera lo mismo. Sería una tontería no hacerlo.
Wyzard
99
"No muestra" dónde? Ejecute freeen un sistema Linux y mire la columna "en caché". Algunas aplicaciones de nivel superior (como el Monitor del sistema GNOME) no informan que la memoria caché está "en uso" porque esa RAM está disponible para su uso por otros programas; el núcleo puede descartar cachés en cualquier momento.
Wyzard
44
@PTwr: en ese caso, el sistema operativo debería estar almacenando en caché esos archivos y no debería aumentar la velocidad (un disco RAM podría ayudar si está escribiendo), pero mida la diferencia de velocidad para ver si vale la pena
user151019
77
@khajvah linuxatemyram.com
Dan Neely
59

Dado que cada sistema operativo administra la memoria de manera diferente, y no se proporcionó ninguno, responderé en el contexto de Windows 7.

A continuación se muestra un ejemplo de una computadora con 24 GB de RAM. Aunque actualmente solo 7 GB están asignados como memoria "En uso", otros 10 GB están asignados como memoria "En espera" y contienen datos que pueden o no leerse nuevamente. Si se lee, hará que su computadora sea "más rápida". La memoria "libre" no se está utilizando en este momento.

Monitor de recursos

  • "Disponible" es en espera y memoria libre. En otras palabras, toda la memoria no se requiere actualmente.
  • "En caché" es la memoria en espera y modificada. Toda la memoria utilizada para el almacenamiento en caché, siendo modificada la porción que espera ser escrita en el disco antes de pasar al modo de espera.
  • La memoria "total" es toda la memoria, excepto el hardware reservado.

Si desea obtener más información sobre el uso de memoria en Windows 7, TechRepublic tiene un excelente artículo .

Jason
fuente
Entonces, ¿qué pasaría si esta computadora, bajo esta carga, agregara otros 8 GB? Sospecho "nada", pero también sospecho que un usuario con una carga más pesada o un tiempo de actividad más prolongado tendrá mucho más caché.
3
@ JonofAllTrades Estoy de acuerdo. Una cosa de la que el artículo que vinculé no habla es SuperFetch (un servicio predeterminado en Windows 7). SuperFetch carga cosas en la memoria antes de acceder a ellas. Registra los patrones de uso en un archivo y toma varios reinicios / días para optimizar completamente.
Jason
¿Esto también sucede en Linux?
Casper
16

Si el sistema operativo solo usa 4 GB de 8 GB, no funcionará de manera diferente a una máquina que usa 4 GB de 16 GB.

El carnero que no se utiliza no tiene impacto en el rendimiento de la máquina.

Sin embargo, la situación ideal es que el sistema operativo use casi toda la RAM disponible. El sistema operativo y las aplicaciones solicitarán lo que necesitan, y el RAM restante debe usarse como caché, con una porción libre quizás para evitar el intercambio si una aplicación necesita más ram. La memoria caché todavía cuenta como "utilizada" y aparecerá como utilizada en herramientas libres de memoria.

La memoria caché tomará tiempo para acumularse, por lo que no verá esto en el arranque. Si después de un tiempo, la máquina aún no usa más de 4 GB, entonces quizás esté ejecutando un SO de 32 bits que no puede abordar más de 4 GB (normalmente).

Pablo
fuente
44
Depende de si considera la memoria caché del disco como RAM "usada". El freeprograma Linux lo informa en ambos sentidos, por ejemplo.
Wyzard
Creo que lo que la interfaz gráfica de usuario representa para un usuario y la situación real puede ser diferente. La RAM que se usa para caché se usa independientemente de si una herramienta de usuario oculta ese hecho al usuario.
Paul
"Si después de un tiempo la máquina aún no usa más de 4 GB ..." -> Nuevamente, el almacenamiento en caché del disco es excelente, pero no llenará toda su RAM libre si tiene muchas cosas que pueden almacenarse en el caché del disco - - solo almacena en caché lo que realmente ha usado y ahora no lo es , lo que probablemente no asciende a más de un par de GB a menos que sus actividades normales incluyan grandes cantidades de photoshop, etc. o la computadora sea un servidor ocupado con una gran cantidad de archivos estáticos
Ricitos
@goldilocks Obviamente "después de un tiempo" es vago, pero tiene la intención de significar "después de una duración tal que Windows y las aplicaciones han tenido que cargar suficientes datos que excederían los 4GB". Mi uso es bastante rutinario y excede esto rutinariamente. El punto es que si se alcanza este límite, puede estar abordando la restricción en lugar de la falta de necesidad de más caché.
Paul
9

Otra parte de la ecuación es cómo se configuran las tarjetas de memoria. Específicamente, las placas base modernas admiten memoria de doble canal que le permite duplicar el ancho de banda entre su placa base y la memoria; si tenía memoria emparejada y sacó 1 de cada par, lo ha perdido y, por lo tanto, su acceso a la memoria al realizar muchas transferencias de memoria se verá disminuido, lo que debería llevar a que las operaciones demoren más. (Por el contrario, si tuviera 8 Gig de memoria más rápida emparejada con 8 Gigs de memoria más lenta y solo usara 8 Gigs, sacar los 8 gigas de más lento y reparar el más rápido debería permitirle correr más rápido ya que aún obtiene doble canal pero no, no necesita reducir la velocidad a la memoria más lenta)

Pero, en general, el material de almacenamiento en caché mencionado en otras respuestas será un factor que contribuirá más al rendimiento general.

Foon
fuente
3

Eliminar la mitad de sus 16 GB de memoria ralentizará su computadora.

Esto es válido incluso si nunca usa cerca de 8 GB de memoria.

El lado del software está cubierto en otras respuestas y se reduce al sistema operativo que elige usar RAM en lugar de disco.

Sin embargo, es posible que vea un éxito en el rendimiento impulsado por hardware reduciendo a la mitad la cantidad de RAM disponible. La razón es que los buses RAM utilizan una arquitectura multicanal, lo que significa que la computadora puede transferir datos entre múltiples módulos RAM simultáneamente.

Probablemente su computadora es de doble canal. En ese caso, puede eliminar 2 de los 4 módulos de RAM de 4 GB sin impacto en el rendimiento del hardware. Sin embargo, eliminar 1 de 2 módulos de RAM de 8 GB afectará el rendimiento.

Si tienes una arquitectura RAM de cuatro canales, verás un golpe de rendimiento incluso si tu RAM tiene módulos de 4GB.

Taemyr
fuente
2

Si la memoria se agota al máximo o el 99%, perderá velocidad debido al archivo de página que se encuentra en el disco duro. El disco duro ni siquiera puede acercarse a la velocidad de la RAM, ya que la CPU accede directamente a la RAM en función de las velocidades del bus.

Windows usa aproximadamente 3 a 4 GB de RAM inactiva sin contar otras aplicaciones. Llevo años ejecutando 16 GB y nunca he necesitado más de 8 GB. Siendo realistas, los usuarios promedio de PC nunca usan más de 4-6 GB, por ejemplo, para jugar. Solo lo he visto acercarse a 12 gb una vez al comprimir una película o hacer algo que RAM intensivo generalmente tiene que ver con multimedia y CPU de múltiples núcleos sería la única forma en que necesitaría más de 8 gb. y sí, correría igual de rápido. OMI

Inactivo después de 1 día de tiempo de actividad: ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Inactivo después de 2 días de tiempo de actividad: ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Cuanta más RAM tenga Windows, más RAM parece usar.

ingrese la descripción de la imagen aquí

En términos de Windows 7, utilizar RAM para acelerar ciertos procesos es un ejemplo.

ingrese la descripción de la imagen aquí

Chkdsk maximiza la RAM para acelerar el almacenamiento en caché y, a su vez, acelera el rendimiento y el tiempo de comprobación del disco, por lo que, en este caso, más es más rápido ...

Mórbido
fuente
1
Windows 7? Incluso con muchas cosas, apenas supero 2G.
Simon Kuang
Mientras más RAM tenga Windows 7, más usará ... las horas extras fluctuarán debido a los programas que ha abierto y actualmente están abiertos hasta que los servicios y las aplicaciones liberen la memoria, fluctuará constantemente ... con respecto a la pregunta real. 8 GB será tan rápido como 16 GB, sí y no, dependiendo de para qué esté usando su computadora. En circunstancias normales, no debería necesitar más de 8 GB y no verá una pérdida de rendimiento real si se usa para usos comunes como juegos o navegación web.
MORBiD
2

En la práctica, es más probable que la respuesta sea "NO" a la pregunta como se indicó. La pregunta dice "(el uso) nunca alcanza los 8 GB" y menciona "el mismo tipo de memoria", por lo que el factor más probable que afecta la velocidad (almacenamiento en disco) no se verá afectado. Un ejemplo práctico común son los servidores de bases de datos con suficiente memoria para almacenar en el búfer el disco duro completo; por ejemplo, con 4 GB de archivos y 2 GB de memoria asignada al proceso / sistema no se beneficia de más de 8 GB de memoria.

Excepciones:

Más memoria puede ralentizar la hibernación: en mi sistema con 32 GB de memoria y disco SSD, un arranque en frío es significativamente más rápido que despertarlo de la hibernación, ya que ahorra los 32 GB completos en hibernación, pero un arranque en frío requiere mucho menos lectura. Reducir la memoria aceleraría el sistema.

Sería más rápido si accediera a más del disco duro y la mayoría de las personas tengan más uso del disco que la memoria restante para el almacenamiento en búfer, por lo que la memoria adicional ayuda. Además, muchas O / S informan solo una parte del uso como "uso" y el resto se cuenta como almacenamiento en búfer y no como "uso". (Linux informa el uso tanto inclusivo como exclusivo del almacenamiento en búfer).

Los canales de memoria afectan el rendimiento: [Si eliminar la memoria significa que reduce la cantidad de canales de memoria en uso, entonces el sistema se ralentizaría como Foon señaló correctamente]

[edit:] David Schwartz comentó que reducir la memoria reduce los límites para las asignaciones de memoria privadas y modificables bajo Windows. Aparentemente, Windows limita el total de estas reservas al total de memoria más intercambio para que pueda quedarse sin este recurso a pesar de que se informa de "memoria libre" (ya que la memoria / intercambio real no se asigna hasta que se accede a una página, no es contado como uso de memoria). Linux se comporta de manera diferente: cada proceso puede asignar hasta el total de memoria y tamaño de intercambio, y el total de todos los procesos puede exceder el total de memoria más intercambio.

iheggie
fuente
1
Básicamente, simplemente afirma que "no" es la respuesta correcta, pero no dice por qué.
David Schwartz
Esto fue en respuesta a la respuesta aceptada: no tengo los puntos de representación para comentarlo directamente, perdón por la confusión. Para aclarar, en caso de que no fuera obvio, solo se usa tanta memoria para el almacenamiento en el disco duro como se lee o se escribe realmente; si simplemente no hay tanto uso del disco o nunca se accede, entonces la memoria extra no No hace la diferencia.
iheggie
1
El ejemplo que di del servidor de la base de datos es un ejemplo en el que la memoria adicional hace poca diferencia: todo el disco en uso se almacena en búfer.
iheggie
¿Qué pasa con el hecho de que más RAM significa más almacenamiento de respaldo que puede permitir que el sistema operativo permita asignaciones que de otro modo rechazaría?
David Schwartz
En mi ejemplo del servidor de base de datos, no hay ninguna diferencia, ya que nunca rechazaría una asignación por falta de memoria libre. ¿Qué asignación rechazaría la O / S si a. todos los procesos donde en la memoria, b. todo el disco ya estaba guardado en la memoria, c. tenía memoria libre y d. ¿no se excedió algún otro límite (por ejemplo, límites máximos de proceso / búfer / tamaño direccionable)?
iheggie
0

La fragmentación de la memoria es otra razón para tener memoria extra. Si tiene 8 GB de RAM y tiende a mantenerlo en un 80%, particularmente en casos de uso modernos (con muchos intercambios de memoria, como abrir y cerrar pestañas del navegador) eventualmente obtendrá una fragmentación significativa.

Agregar los 8 GB adicionales de RAM hace que sea más probable que el sistema operativo encuentre espacios contiguos de memoria disponibles, lo que significa que es necesario reiniciar con menos frecuencia para evitar la degradación del rendimiento.

Joe
fuente
Tengo entendido que la fragmentación de la memoria es algo que puede ocurrir dentro del espacio de memoria de un proceso, que es virtual en los sistemas modernos típicos, y que no se aplica al sistema en general. Dado que la memoria física se divide en páginas, que se asignan individualmente en los espacios de memoria virtual de los procesos, la fragmentación sería un concepto sin sentido. Por favor corríjame si he entendido mal algo.
Thomas Padron-McCarthy
0

Posiblemente, pero no necesariamente. Entre otras cosas, una de las cosas que la RAM permite que una computadora haga es permitir que la aplicación asigne memoria que quizás nunca use. Si el sistema no tiene suficiente almacenamiento de respaldo (que incluye RAM) para permitir que cada asignación que ha emitido hasta el momento consuma tanta memoria como sea posible, el sistema operativo tendrá que rechazar esas asignaciones o comprometerse de más. Algunos sistemas operativos nunca se comprometen en exceso y casi todos los sistemas operativos modernos limitan la cantidad de exceso de compromiso que permiten.

Por lo tanto, la memoria que no está en uso puede mejorar el rendimiento al permitir que las operaciones que posiblemente requieran RAM tengan éxito donde, de lo contrario, fallarían.

David Schwartz
fuente
-1

Más ram no acelera la computadora. Menos carnero "ralentiza" la computadora.

Las computadoras tienen su velocidad máxima física (esto también incluye el overclocking) y nada puede hacerlas más rápidas que eso.

Xtro
fuente
3
Como se muestra en la respuesta de Wyzard, la "computadora" en su conjunto incluye acceso al disco, donde más ram permite más almacenamiento en caché y, por lo tanto, lo acelera.
por favor,
¿Quiere decir que podemos aumentar el límite de velocidad física de una computadora agregando terabytes de ram en ella?
Xtro
Teniendo en cuenta los discos duros, sí.
por favor,
Por cierto, menos RAM tampoco siempre ralentiza la computadora. El caché L3 muchas veces ralentizó la computadora debido a errores de caché.
por favor,
2
Encuentro tu respuesta tautológica. Sí, el 'límite de velocidad máxima' de la CPU es la velocidad máxima de la CPU. Buen espectaculo. Sin embargo, desde un punto de vista práctico , en comparación con una PC con solo suficiente RAM, una PC con exceso de RAM funcionará un poco más rápido.
Joe