El uso del procesador aumenta con 4 GB de RAM instalada

9

Tengo un Intel Atom D2700 (Synology NAS DS412 +) con 4 GB de RAM con kernel 3.2.30 x86_64. Esta unidad tiene una sola ranura DIMM.

Una cosa que yo y otros hemos encontrado es que al agregar un DIMM de 4GB en comparación con un DIMM de 2GB, la unidad experimenta un uso de CPU significativamente mayor cuando está bajo carga (por ejemplo, aplicaciones Java 'pesadas' como servidores Minecraft, o transcodificación Plex, etc.) . Muchos usuarios han descubierto que cuando vuelven a caer a 2 GB, todos estos problemas de alta carga desaparecen.

¿Es esto algo específico de Linux que puede causar esto? ¿O es un problema con el propio átomo?

Trevor Seward
fuente
¿Quizás pueda agregar qué distribución está utilizando?
Bernhard
La construcción de Synology.
Trevor Seward
¿Hubo algún cambio en el núcleo? ¿Está utilizando un Kernel PAE por casualidad?
incipiente
Synology generalmente no proporciona ese tipo de notas de lanzamiento. No, este es un núcleo x86-64.
Trevor Seward
¿Qué muestra top como fuente para la carga adicional? ¿Más E / S, más procesos en ejecución? ¿Está habilitado el intercambio? Si tiene procesos de larga ejecución con alta (er) carga, entonces puede comparar las salidas a lo cat /proc/$PID/statuslargo del tiempo.
Hauke ​​Laging

Respuestas:

7

Eche un vistazo a la hoja de datos del procesador Intel Atom® D2000 y la serie N2000, vol. 1 .

Observe las páginas 32-33 y la tabla 3-24.

La conclusión es que mientras su procesador y controlador de memoria admiten 4 GB de RAM total, solo lo admiten en fragmentos de 2 GB, en 2 GB por ranura. Como su 412+ solo tiene una ranura, 2 GB es su RAM máxima. Cualquier cosa por encima de eso es probable que sea impredecible.

quadruplebucky
fuente
1

tl; dr

Creo que el culpable es el módulo RAM incompatible.


He leído la hoja de datos D2000 (como lo sugiere quadruplebucky). AFAIK la hoja de datos no dice nada acerca de limitar el tamaño de RAM con respecto a una serie de ranuras DIMM. Habla de rangos en su lugar (ref. Geometría de memoria ).

Cualquier persona que desee actualizar la RAM en el sistema D2000 debe consultar la Tabla 3-24 para ver las Configuraciones de memoria admitidas . Para un tamaño de memoria de 4096 MB, el módulo debe ser:

  • doble puesto,
  • con 16 chips de 2 gigabits de densidad.

Los módulos de memoria de la misma capacidad se fabrican en diferentes configuraciones, de modo que se puede obtener, por ejemplo, un módulo de rango único de 4 GB utilizando ocho chips de densidad de cuatro gigabits, cuya configuración no figura en la tabla; consulte esta publicación ilustrativa de Kingston .

Dicho esto, debe verificar las especificaciones del número de pieza exacto de su módulo para asegurarse de que sea compatible. Recientemente instalé Patriot PSD34G1333L2S en DS713 + y hasta ahora está funcionando bien.

Señor tao
fuente
0

Si hay más memoria, la CPU tendrá más datos / programas a mano para trabajar (estará inactiva esperando los datos del disco menos tiempo), por lo que el uso de la CPU debería aumentar, especialmente bajo una carga alta. ¿Aumenta el rendimiento? ¿O no has medido eso?

vonbrand
fuente
No puedo decir que realmente lo haya medido más allá de la cima (Busybox, por lo que las opciones son algo limitadas), pero el rendimiento disminuye significativamente para las aplicaciones mencionadas anteriormente cuando se usan 4 GB de RAM, algunas hasta el punto de que no se pueden usar. Con 2 GB de RAM, ninguno de estos problemas es evidente.
Trevor Seward
El artículo alemán de Wikipedia afirma que los procesos de E / S son parte de la carga. Por lo tanto, la carga debería caer con más RAM. Esto puede ser fácilmente verificado por for((i=0;i<20;i++)); do dd if=/dev/sda of=/dev/null skip=$((i*100)) bs=1M count=100 & done. Ejecute esto y eche un vistazo en la parte superior. Sin embargo, no sé cómo la E / S debido al intercambio afecta la carga y el porcentaje de espera de E / S. Que las caídas de rendimiento no tengan ningún sentido con esta explicación.
Hauke ​​Laging
0

Una computadora SIEMPRE tiene un cuello de botella, de lo contrario, todos los problemas se resolverían en tiempo cero. Cuando quitó el cuello de la botella de memoria, el sistema dejó de tener que esperar en el disco y la CPU se aprovechó mejor.

Esto toca uno de mis odios a las mascotas: los blogs populares que buscan sensaciones y los sitios web de revisión no saben cómo comparar. Una CPU 100% utilizada no es una CPU desperdiciada. La computadora perfecta podría utilizar todos los recursos al 100% para todas las cargas de trabajo, pero estamos muy lejos de ese tipo de tecnología. Pero yo divago.

A menos que, por supuesto, haya un problema con la administración de la memoria en su sistema operativo, pero es mucho menos probable.

Johan
fuente
3
Creo que hay un gran malentendido de lo que está sucediendo aquí. Las aplicaciones experimentan un gran rendimiento con 4 GB frente a 2 GB de RAM. No es que el procesador esté "100%" utilizado, es que las aplicaciones se vuelven casi no funcionales.
Trevor Seward el
¿Quizás los gastos generales de paginación y cambio de contexto están causando esto? Debe intentar ejecutar una sola aplicación pesada con 2GB y 4GB para ver si aumenta el rendimiento de esa aplicación. Si es así, podría deberse al cambio de contexto.
incipiente
3
¿Cambio de contexto debido a memoria física adicional disponible?
Trevor Seward
Mi hipótesis era que la memoria adicional significaba que el procesador ahora podía trabajar en más procesos / subprocesos simultáneamente (porque no tendría que esperar en E / S de disco o espacio de intercambio) y, por lo tanto, más procesos / subprocesos significarían más cambios de contexto. Podría estar muy equivocado, por supuesto.
incipiente
@TrevorSeward, la pregunta dice algo completamente diferente.
vonbrand
0

¿Hay alguna posibilidad de que su nueva RAM sea DDR3-800 y la anterior sea DDR3-1066 (o que la nueva RAM tenga una latencia más alta?

Si su carga de trabajo tiene muchas fallas de caché y afecta la RAM con frecuencia, una RAM más lenta podría marcar una diferencia significativa: este punto de referencia muestra una diferencia de aproximadamente el 30% en el ancho de banda de la memoria entre -1066 y -800 RAM:

http://www.tomshardware.com/reviews/core-i7-870-1156,2482-5.html

Su carga de trabajo tendría que consumir bastante memoria para ver mucha diferencia.

Johnny
fuente
El DIMM de reemplazo es KVR1333D3S9 / 4G, sin embargo, el Atom solo funcionará a 800Mhz.
Trevor Seward
Intel dice que el controlador de memoria D2700 funcionará con DDR3-800 o -1066 RAM (con el ancho de banda de memoria máximo correspondiente de 6.4GB / seg y 8.5GB / seg). Pero como su RAM es 1333, debe reducirse a 1066, lo que hace que mi sugerencia sea discutible.
Johnny
0

Nunca he experimentado eso, por lo tanto, solo adivinando: tal vez este es un problema debido a que Atom no puede abordar más de 4G físicamente (IIRC) y alguna colisión con el espacio de direcciones PCI.

Eche un vistazo a los respectivos parámetros del kernel (mem *) . Probablemente no nos den una buena explicación del problema, pero pueden resolverlo (a costa de algo de RAM). Por lo tanto, puede evitar que el núcleo use la parte superior x MiB. Puede probar en qué borde desaparece el problema. Es probable, pero no estoy seguro, que los dispositivos PCI estén asignados directamente debajo de 4G. Tiene sentido verificar eso, pero no sé cómo hacerlo (tal vez a través de alguna herramienta ACPI o cat /sys/devices/pci0000\:00/0000\:00*/resource).

Hauke ​​Laging
fuente
¿Cómo se puede configurar max mem sin acceso a los parámetros de arranque?
Trevor Seward
0

¿Has visto este hilo del foro de Synology?

http://forum.synology.com/enu/viewtopic.php?f=140&t=55105&sid=32ffe791c14c1a817869f78ec3d4300a&start=15

En persona dice que cambiar un parámetro en /etc/rc.d ayuda (es donde se establece vm.min_free_kybtes en función de la cantidad de RAM instalada). Pero eso parece ser más para una actualización de 1GB -> 2GB, no de 2GB -> 4GB.

Otros afirman que 4GB no funcionará en absoluto, mientras que un tipo afirma que un módulo KVR1066D3S7 / 4G (que es 1066Mhz) funciona bien, mientras que otros con módulos de 1333Mhz como el suyo están teniendo problemas.

No parece haber mucha evidencia para señalar una solución, pero no eres el único en ver una degradación del rendimiento con 4 GB de RAM en ese DS412 +.

Johnny
fuente
1
Ese soy yo, y no, al final, modificar min_free_kbytes no ayudó.
Trevor Seward
Luego iría con el tipo que dijo que el módulo de 1066Mhz funcionó, pero las personas con los módulos de 1333Mhz se quejan de problemas, tal vez el BIOS de Synology realmente no maneja bien el 1333.
Johnny
Esta sería la implementación UEFI de Intel.
Trevor Seward
0

Mi suposición (educada) es que la memoria caché de su procesador no puede manejar más de 2 GB de RAM, por lo que la instalación de más de eso hace que la memoria caché se desactive, lo que provoca un impacto significativo en el rendimiento. También es una CPU de cuatro núcleos, por lo que una aplicación de un solo subproceso solo puede usar como máximo el 25% de la CPU total, por lo que no sube después de agregar ram.

psusi
fuente
Eso es un buen pensamiento. ¿Alguna forma de saber si el caché ha sido desactivado desde la distribución?
Trevor Seward