¿Cómo es posible alcanzar 32 GB de RAM de uso?

El uso de CPU y RAM no están directamente relacionados.

Claro, lleva un poco de tiempo de CPU asignar y cargar memoria, pero no requiere tiempo de CPU después de eso … a menos, por supuesto, que desee hacer algo con ese almacenamiento. Y de manera similar, puede grabar todo el tiempo de su CPU en un código bastante pequeño.

La razón por la que tengo 64 GB de RAM en mi sistema es para la fotografía. Específicamente, componiendo muchas fotos. Entonces, digamos que tengo 100 fotos en bruto de 20Mpixel que quiero componer de alguna manera (la foto de arriba es de solo 19,808 x 4253 píxeles, compuesta de aproximadamente cuarenta imágenes de 16Mpixel). Antes de que la CPU realice el trabajo de composición, tiene que cargar cada foto y decodificarla en una imagen RGB sin comprimir de 24 bits 0r 48 bits. Eso es 5,472 × 3,648 x 6 x 100 bytes de RAM, 11,977,113,600 bytes, o 11.15GB solo para los datos, sin considerar Windows, la aplicación, etc.

Luego hay muchas asignaciones informáticas y de memoria, ya que la aplicación busca puntos de superposición en cada foto, al menos en el caso más típico. Tiene un gran conjunto de datos para calcular antes de que pueda producirse una fusión. Y, por supuesto, necesita memoria para la foto de salida, que podría no ser de 11 GB, pero podría ser de 4 a 8 GB dependiendo de las áreas de superposición. De modo que ese conjunto de datos puede ejecutar más de 32 GB. Y una vez que todo esté calculado, solo se quedará en la memoria, en la aplicación interactiva, esperando que haga algo con él: editar puntos de control, cambiar la proyección de las imágenes fusionadas, seleccionar características para incluir o eliminar en la fusión, etc. .

En la misma computadora, puedo ejecutar un render de video. Digamos que he editado un video HD y quiero producir una salida HD lista para Blu-ray en formato MPEG-4 AVC. Si las ediciones están en ese solo video, el uso de RAM del sistema puede no superar los 8 GB, pero dependiendo de las ediciones, puedo mantener las seis CPU y el 50% de mi GPU cerca de ocupar completamente durante horas. Esto no está usando mucha RAM, en términos relativos, porque la representación de video es un proceso de transmisión : el sistema carga una porción de video de entrada, lo expande en un búfer de memoria, aplica cualquier FX que estoy aplicando, luego procede a entregarlo al algoritmo de compresión de video. Esto generalmente se canaliza: el sistema puede tomar el cuadro N + 1, procesar el cuadro N y codificar el cuadro N-1, todo al mismo tiempo. Pero los datos no crecen más allá, en este caso, de un número relativamente pequeño de cuadros de video HD de 2Mpixel.

Lo gracioso de tener demasiada memoria … nunca lo haces. Cuando construí esta PC en 2012, tenía una acumulación de fotografías que no se ajustaban a mi máquina anterior. Esa primera noche jugando, exploté el sistema: errores de memoria. Bueno, estaba tratando de ejecutar dos fusiones a la vez … así es como, específicamente, sé que es bastante posible ejecutar más de 32 GB con solo un programa y las cosas normales de fondo de Windows.

Piensa en ello como un auto. RAM es el tanque de gasolina y la CPU es el motor. El tanque de gasolina contiene una cantidad dada de litros de gasolina, digamos 40. Eso es suficiente para durar 5 horas si el motor funciona a una velocidad máxima de 96 kmph y resulta que te lleva 480 km por el camino.

Agregar otro tanque de 40 litros significa que ahora puede hacer funcionar el motor durante 10 horas y duplicar su alcance a 960 km, pero aún así no puede ir más rápido que 96 kmph (ignore el peso del gas adicional que requiere más gas para moverlo). Si desea ir más rápido, necesita un motor más potente u otro motor (y al igual que agregar dos motores a un automóvil presenta desafíos muy difíciles, al igual que tener más de una CPU). No importa la cantidad de gasolina que agregue, el automóvil no puede ir más rápido, pero puede ir más lejos.

Hago muchas simulaciones bioquímicas que involucran moléculas digitales, a veces en miles de millones. La RAM determina cuántas de esas moléculas (cada una de las cuales requiere 648–842 bytes de RAM) puedo guardar en la memoria para realizar cálculos directos sobre el uso de las CPU. La velocidad y el número de CPU determinan qué tan rápido puedo realizar esos cálculos en los datos que se pueden abordar directamente.

En los términos más simples, no hay conexión entre quedarse sin RAM y “quedarse sin energía de la CPU”.

Elimine el espacio de intercambio, y la RAM es una cantidad finita, una vez que está llena, está llena, no puede poner más datos allí.

Sin embargo, las CPU no funcionan así, pueden procesar millones de instrucciones por segundo, por lo que si está ejecutando 10 aplicaciones, y suponiendo que todas estén trabajando duro, obtienen el 10% del tiempo de CPU cada una. Si está ejecutando 1000 aplicaciones, obtienen 0.1% del tiempo de CPU cada una, así que, básicamente, mientras que la RAM simplemente puede llenarse, y no queda más, las CPU no pueden “llenarse”, pero todo parecerá funcionar más lento y más lento porque la CPU tiene que dividir su tiempo entre todas las aplicaciones en ejecución.

Entonces, realmente, si está preguntando cuál es la lógica entre el uso de la CPU y el uso de la RAM, la respuesta rápida es “No hay ninguna”.

Puede quedarse sin RAM, no puede quedarse sin CPU.

Imagina RAM como un gran almacén. Imagine una CPU como una furgoneta de reparto, imagine aplicaciones como clientes. Si tiene 10 clientes que esperan entregas constantes, entonces 1 camioneta dividirá su tiempo entre esos 10. Si tiene 1000 clientes, la misma camioneta puede hacer las entregas, pero cada cliente deberá esperar más tiempo entre las entregas. Puede tener 1,000,000 de clientes, y la camioneta seguirá llegando a cada uno, eventualmente …

Usted mismo ha respondido su pregunta. Sí, si sigue ejecutando aplicaciones simultáneamente, sigue consumiendo su RAM. Tomemos un navegador simple. Cuantas más pestañas abra, más RAM ocupará. Hasta que llegue al 100% de utilización de RAM.

Supongo que te preguntarás qué sucede después de eso. ¿Se bloqueará el sistema?

No. Todos los sistemas operativos tienen lo que se llama un espacio de intercambio. El espacio de intercambio es un espacio de disco duro no utilizado que puede o no estar reservado para ser utilizado para intercambiar el contenido de la RAM utilizada por una aplicación que está inactiva para que la RAM esté disponible para la aplicación que se está ejecutando actualmente. Esto sucede cuando se usa 100% de RAM al ejecutar muchas aplicaciones simultáneamente. La actividad de intercambio excesiva ralentiza una computadora pero no la bloquea.