Si abre un conjunto de datos de 1 GB, ¿ocupa un GB de RAM + memoria virtual?

En general, un conjunto de datos de 1 GB ocupará más de 1 GB de RAM. Lo más probable, 1.5-5GB de RAM, dependiendo de lo que esté haciendo con los datos. Aquí hay cosas que podrían contribuir a una mayor huella de memoria :

  • Entorno de tiempo de ejecución . Por ejemplo, si está ejecutando Java, la JVM ocupará una cantidad de megabytes de memoria.
  • Datos intermedios que no se han recogido basura . Quizás creó muchos datos intermedios mientras cargaba su conjunto de datos, pero no liberó la memoria utilizada por los datos intermedios.
  • Representación de los datos . Una cadena de 10 caracteres debe ocupar 10 bytes, pero puede ser de 20 bytes debido a la compatibilidad con Unicode, o tal vez 30 bytes porque las instancias de la clase String tienen un poco de sobrecarga asociada con ellos, o 45 bytes porque la cadena está almacenada en una Lista, que tiene sus propios gastos generales, y así sucesivamente.

Algunas cosas que puede hacer para reducir los requisitos de memoria :

  • Mida el uso de memoria antes y después de cargar el conjunto de datos para asegurarse de que el conjunto de datos es lo que está acaparando su RAM .
  • Si está utilizando un idioma con recolección de basura, no olvide eliminar las referencias a todos los datos intermedios una vez que haya terminado con él ; Si está haciendo una gestión manual de la memoria, no olvide liberar la memoria utilizada por los datos intermedios.
  • Considere estructuras de datos personalizadas para almacenar sus datos de manera más compacta . La advertencia aquí es que cuanto más elegantes sean sus estructuras de datos, más difícil será mantenerlas.
  • Considere codificaciones o compresión para grandes bloques de datos . Si puede almacenar un blob de texto de 100k como un blob de texto comprimido de 10k, entonces el ahorro de memoria podría valer la sobrecarga de CPU adicional asociada con la compresión y descompresión.

More Interesting

¿Qué se usa con más frecuencia en estos días: SDRAM, DRAM o RAM? ¿Cuál te da una mayor velocidad de procesamiento de datos?

Si la CPU y la GPU siguen siendo las mismas, ¿habrá alguna diferencia si la RAM del portátil cambia de 8 GB a 16 GB?

¿Cuál es la mejor computadora portátil económica en India con al menos 12 GB de RAM, al menos i5, procesador de 2.3 ghz?

Los juegos se ejecutan lentamente en mi PC. ¿Es eso causado por la RAM u otra cosa?

¿Cuál es mejor 4 GB DDR4 u 8 GB DDR3?

¿Qué tan bueno es tener una computadora portátil con disco duro de 80 GB y 2 GB de RAM?

¿Qué sucede si en una computadora portátil de 8GB de RAM, instalamos una caja virtual o VMware y una RAM de 2GB asignada para un sistema operativo Linux? ¿Hay algún problema que pueda ocurrir con la computadora portátil?

¿Hay alguna diferencia entre la RAM de un teléfono y la RAM de una PC?

¿Me beneficiaré de una actualización si mi uso de RAM es del 85% la mayor parte del tiempo?

¿Por qué los navegadores web usan tanta RAM?

¿Cómo jugaré GTA 5 con gráficos de 2 GB y 4 GB de RAM con un procesador i5?

¿Qué es la RAM y el teclado?

¿Por qué mi espacio de almacenamiento dinámico 'max' en Java es de solo 3.7GB cuando mi computadora tiene 16GB de RAM?

¿Por qué deberías borrar la memoria RAM de tu computadora?

¿Qué tan importante es la RAM? ¿Serán suficientes 8 conciertos? Tengo la intención de usarlo para modificar mucho Skyrim. ¿Debería apuntar más a 16?