C ++ lectura / escritura - RamDisk vs RAM

votos
0

Estoy usando Ubuntu de 32 bits. - Mi aplicación necesita almacenar los datos entrantes en la memoria RAM (porque tengo que hacer un montón de búsquedas en los datos entrantes y somthing CALC). - Tengo una necesidad de guardar los datos de X segundos => Así que necesito para asignar 12 GB de memoria. (requisitos del cliente) - estoy usando Ubuntu de 32 bits (y no desea trabajar con Ubuntu 64 BIT) - Así que estoy utilizando Ram disco para guardar los datos de Ingresos y para searach en él. (Así que puedo usar 12 GB de RAM en el sistema 32 BIT)

cuando pruebo la aplicación con 2 GB de memoria asignada (en lugar de 12 GB) Vi que el rendimiento de la CPU cuando se utiliza la memoria RAM es mejor que cuando se utiliza el disco RAM cuando acabo de escribir datos en mi base de datos (15% frente a 17% de uso de CPU) pero cuando pruebo las consultas (que leen un montón de datos / archivos o si estoy trabajando con el disco RAM) vi una enorme (uso de la CPU 20% vs 80%) diferente.

No entiendo por qué hay una enorme del DIF? Tanto RAM como la obra de disco en la memoria RAM? no ? ¿Hay algo que pueda hacer para obtener un mejor rendimiento?

Publicado el 02/06/2014 a las 11:09
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
2

Hay dos razones por las que se me ocurre de por qué un disco RAM es más lento.

  1. Con un disco RAM que podríamos utilizar la memoria RAM como los medios de comunicación de archivos, pero todavía tenemos el añadido del uso de un sistema de archivos. Este sistema implicado llama para acceder a los datos con otras formas de indirección o copia. Directamente acceder a la memoria es sólo eso.

  2. acceso a la memoria tiende a ser rápido porque a menudo podemos encontrar lo que estamos buscando en la memoria caché del procesador. Esto nos salva de la lectura directa de la RAM más lenta. El uso de un disco RAM probablemente no será capaz de hacer uso de la caché del procesador en la misma medida si no por otra razón, se requiere una llamada al sistema.

Respondida el 02/06/2014 a las 12:19
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more