RAM es muy crucial para el rendimiento de Linux por un par de razones:
Cachés Linux se ejecuta sin memoria libre la mayor parte del tiempo. Si las aplicaciones no usan algo de memoria, se usa para cachés que acelera las cosas. Por lo tanto, no se desperdicia ningún recuerdo. Si las aplicaciones necesitan más memoria, las cachés se liberan para que las cachés nunca eviten que se ejecuten las aplicaciones que necesitan más RAM. Pero, por supuesto, cuanto más pueda almacenar en caché, mejor.
Muchas aplicaciones (especialmente las de escritorio) necesitan mucha memoria para ejecutarse hoy en día. Esto no es una sorpresa: la mayoría de los sistemas de escritorio (o incluso los teléfonos inteligentes) en estos días tienen mucha más memoria que Rapsberry Pi. Por ejemplo, los navegadores web, incluso livianos) usarán decenas de MB de memoria tan pronto como abra un sitio web más grande.
Todas y cada una de las aplicaciones necesitan cierta cantidad de memoria. Entonces, cuantas más aplicaciones ejecutes, más memoria usarán.
Por lo tanto, siempre desea tener tanta memoria ARM como sea posible. Pero la GPU tiene sus propias necesidades según las características que desee.
Versión de 256 MB
Para RaspberryPi anterior, con 256 MB de RAM, hay 4 divisiones disponibles:
240/16 : el ARM de mayor tamaño de RAM puede obtener (240 MB) con memoria de GPU simétrica. Es lo mejor para la informática general cuando no necesita gráficos en 3D o aceleración de video por hardware. Tiene suficiente memoria para manejar una resolución de framebuffer de 1920x1200x16bpp. Si bien 32bpp también funciona, no se recomienda ya que deja una cantidad muy pequeña de memoria libre para la GPU.
224/32 - Este está en desuso a favor de la división 240/16. Tiene una decodificación de video 3D y hardware incorporada, pero dado que no hay suficiente memoria para usarla realmente, no tiene mucho sentido usarla. A menos que tenga algunos problemas con la división 240/16 o quiera usar el framebuffer de 32bpp en la resolución más alta. Es posible que se elimine en el futuro.
192/64 : necesita al menos 64 MB de GPU dividida para usar aceleración de video por hardware o gráficos en 3D. Es posible que no haya suficiente memoria GPU para la reproducción de video acelerada por hardware a la resolución más alta o si necesita mucha memoria GPU para cosas como texturas.
128/128 : la mayor GPU RAM puede obtener. Úselo cuando necesite mucha memoria para la tarjeta gráfica 3D y la reproducción de video acelerada por hardware en alta resolución. Esta división es necesaria para que RaspBMC funcione correctamente o reproduzca contenido de video fullHD con omxplayer sin problemas.
Versión de 512 MB
Las nuevas versiones de RaspberryPi tienen 512 MB de RAM. Tiene 4 divisiones adicionales diseñadas para esta versión:
- 496/16 y 448/64 - como
240/16
y 192/64
dividido por 256 MB respectivamente pero con 256 MB más de RAM disponible para ARM. Como la GPU tiene solo 16 MB / 64 MB o RAM, todas las limitaciones de 240/16
/ 192/64
todavía se aplican.
- 384/128 : similar a la división 128/128 para 256 MB, debe obtener todas las funciones de chip gráfico pero con una cantidad razonable de memoria ARM. Esta será probablemente la división más universal en este momento.
- 256/256 : memoria adicional de la tarjeta gráfica si realmente la necesita, como para texturas grandes y cosas similares. Si bien 256 MB de memoria ARM es más grande de lo que podrías tener en RaspberryPis anteriores, no creo que esta se use en muchas ocasiones.
Divisiones dinámicas
Las nuevas versiones del paquete de firmware eliminan la mayoría de los start_*.elf
archivos, dejando solo start.elf
y start_cd.elf
(también los fixup*.elf
archivos donde se agregaron). De ahora en adelante, no tiene que elegir manualmente el adecuado start_*.file
. En su lugar, debe usar las gpu_mem*
opciones en el config.txt
archivo para elegir cuánta memoria va a la GPU. La memoria restante se asignará a ARM. Debería ser posible utilizar un número arbitrario en el siguiente rango para estas opciones:
**512MB of RAM**: 16M-448M
**256MB of RAM**: 16M-192M
Si bien no hay valores divididos codificados en este momento, la mayoría de la información para el resto de esta respuesta aún debe ser válida cuando intente determinar cuánta memoria debe asignarse a la GPU.
start_cd.elf
y los fixup_cd.elf
archivos son versiones reducidas de los archivos respectivos, solo se usan cuando gpu_mem=16
.
Uso de una tarjeta SD en versiones de 256 y 512 MB
Si está utilizando una imagen de tarjeta SD para diferentes versiones de RaspberryPi, puede usar gpu_mem_256
y gpu_mem_512
opciones. El primero solo se usará en la versión de 256 MB, mientras que el segundo solo en la versión de 512 MB de la placa.