raspdroid
Posts: 1606
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Aumentar memoria ram y/o swap en Raspberry Pi 2

Fri Jan 06, 2017 3:09 pm

Hola

Solo con los servicios que están ejecutándose en la Raspberry Pi me ocupa casi toda la memoria, sobre todo la Swap.

Status 9 out of 9 services are available
Platform Linux 4.4.34-v7+ [armv7l]
Number of CPUs 4 (0.9% used)
Memory 925.5 MB (67.1% used)
Swap 100 MB (100% used)

Qué alternativas hay para aumentarlo? Tanto la ram como la swap, para la ram supongo que se pueda mediante algún hat o algo...

De CPU dice que consume muy poco 0.9% pero de memoria un montón.

El swappiness está a 60, he probado con 90 pero no veo diferencia.

Code: Select all

sudo cat /proc/vm/swappiness
Saludos

raspdroid
Posts: 1606
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Fri Jan 06, 2017 3:42 pm

De momento cambié el tamaño de la swap en dphys-swapfile, lo puse a 500Mb, a ver como va...
Status 8 out of 9 services are available
Platform Linux 4.4.34-v7+ [armv7l]
Number of CPUs 4 (6.5% used)
Memory 925.5 MB (76% used)
Swap 500 MB (4.9% used)
De ram usa el 76% con 0 peticiones de los clientes. Me parece demasiado tengo que bajarlo de alguna manera.

Ahora mismo tengo 4 Raspberry Pi sobre la mesa con sus sdCard cada una y Raspbian Jessie Lite por lo que podría jugar con 4Gb de RAM, lo que no sé como distribuir los servicios en los servidores (en las raspberries). ¿Alguna idea?

Me falta una fuente de alimentación de 10A (calculando 2.5A para cada una que creo es más que suficiente) pero no se cual utilizar me parece mejor esa idea que usar 4 cargadores de móvil.

56kbps
Posts: 118
Joined: Wed Apr 13, 2016 6:22 am

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Fri Jan 06, 2017 10:54 pm

Mucho uso de swap... no sé si será bueno para tu microSD. ¿Tienes por ahí una memoria USB vieja que puedas usar para almacenar el archivo swap?

raspdroid
Posts: 1606
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Fri Jan 06, 2017 11:01 pm

Esta en concreto es clase 10 pero las demas son 4 y 6 y esas por lo.visto de dañan mas rapido con el swap. Tengo uno usb de 8gb sandisk. Usare ese y le cambio la ruta en la configuracion del swap.

Gracias

56kbps
Posts: 118
Joined: Wed Apr 13, 2016 6:22 am

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Sat Jan 07, 2017 10:07 am

Ahora que lo pienso... si vas a optar por un USB... ¿no sería mejor crear en él una partición swap? Supongo que en tal caso el rendimiento sería relativamente superior.

hoopdreams
Posts: 313
Joined: Mon Mar 23, 2015 7:51 pm

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Sat Jan 07, 2017 11:06 am

¡Qué casualidad! Justo he estado con esto hoy para evitar deteriorar la NAND de mi C.H.I.P.

Si usas un USB, yo crearía una partición swap.

Lo de swappiness la diferencia entre 60 y 90 es que en uno usa swap cuando está más del 40 % de la RAM en uso y en el otro caso más del 10 %. No notabas diferencia porque siempre has estado > 40 %.

Un saludo.
https://github.com/ikergarcia

User avatar
lmarmisa
Posts: 1264
Joined: Thu Feb 14, 2013 2:22 am
Location: Jávea, Spain

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Sat Jan 07, 2017 12:33 pm

De acuerdo a mi experiencia, las respuestas de comandos de ocupación de memoria como free -h o similares parecen alarmistas pero, en realidad, no pasa nada.

Un navegador con varias pestañas abiertas o un server tightvnc con múltiples sesiones gráficas pueden ser un grave problema para la memoria limitada de una RPi, pero los servicios que no sean muy exigentes no dan problema alguno. Ejemplo: tengo un server icecast2 sirviendo varios streams de audio (corre también apache2 y varias aplicaciones python 7x24; en total la carga no llega a 0.10) y el comando free -h dice que tiene 19MB de memoria libre. Ese dato sería alarmante, pero de eso nada. El comando uptime aclara que lleva arrancado más de 106 días y no da ningún problema aunque te infles a meter nuevos comandos o a arrancar más aplicaciones.

No sé si es el kernel o los propios servicios, pero la memoria vuelve a estar free a nivel de sistema con muy baja prioridad si un demonio la libera. Evidentemente si un proceso muere, esa memoria sí se recupera inmediatamente como free, pero dudo que ocurra lo mismo con procesos que están permanentemente vivos.

O sea, es posible que el problema que crees que existe no sea tal.

raspdroid
Posts: 1606
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Sat Jan 07, 2017 10:36 pm

Adjunto algunas imágenes de M/Monit, son de el uso de la CPU, la Ram y la Swap

Tengo un usb de 8Gb ya formateado (fat), no hay problema por crear la partición de tipo swap pero de qué tamaño? (100Mb, 1Gb, 8Gb?, he leído que la swap puede ser buena cuando es pequeña pero lo contrario cuando es grande...

Saludos y gracias.
analitica.jpg
analitica.jpg (29.1 KiB) Viewed 16680 times
status-server.jpg
status-server.jpg (52.89 KiB) Viewed 16679 times

56kbps
Posts: 118
Joined: Wed Apr 13, 2016 6:22 am

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Sun Jan 08, 2017 3:23 am

Bueno, no sé lo demás, pero yo es que directamente no soy partidario de usar swap. Lo primero que hago en Raspbian (Lite) es desactivarla. En mi caso uso la Raspberry (B+, con 512MB de RAM) como AP/router y el consumo de RAM oscila entre 50MB y 100MB.

En las capturas parece que con 500MB bastaría, pero ya puestos ponle 1GB para seguir aquel viejo mantra (para poder hibernar) que decía algo así como "usa tanta swap como RAM tengas".

Dicho esto, lanzo una hipótesis: entiendo que tienes montado un servidor web con base de datos y tal... ¿no será que tienes algún sistema de caché web (o algo similar) que aumenta el consumo de RAM condicionalmente a la cantidad que tengas? Es decir, tanta RAM tienes, tanta RAM decidirá usar. Si la aumentas te aumentará su consumo (tal vez hasta cierto límite). Vamos, que estarías en la situación que ha descrito lmarmisa.

Si decides repartir/separar los servicios por RPi podrías hacer algo así: una RPi para páginas dinámicas (PHP, NodeJS... lo que sea), otra para páginas estáticas (Apache pelado o algo más simple, para imágenes, CSS... etc), otra para base de datos y la cuarta para todo lo demás (¿correo? ¿DNS?). Lo bueno es que así podrás ver en qué RPi hay un consumo de RAM excesivo.

raspdroid
Posts: 1606
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Sun Jan 08, 2017 9:45 am

Tengo memcached instalado ¿podrá ser eso?

Lo cierto es que no lo he tocado más porque estoy instalando Jessie Lite en otras tarjetas de memoria y haciendo copias de seguridad.

Pruebas he hecho algunas y todo funciona bien. Web, Base de datos y Email (roundcube) me falta añadir los registros SPF y el DKIM pero lo pienso hacer cuando lo ponga en la ip estática.

PD: Cuando lo ponga en producción paro el servicio de memcached y luego comento si hay alguna diferencia.

PD1: El usb de 8Gb lo dejé así:
Disposit. Inicio Start Final Sectores Size Id Tipo
/dev/sdc1 2048 1955839 1953792 954M 82 Linux swap / Solaris
/dev/sdc2 1955840 15644911 13689072 6,5G 83 Linux
1Gb para swap y lo demás para aprovecharlo para copias de seguridad o algo así.

56kbps
Posts: 118
Joined: Wed Apr 13, 2016 6:22 am

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Sun Jan 08, 2017 11:41 am

Desconozco el funcionamiento particular de memcached, nunca lo he usado, pero para mi sería el primer sospechoso. Sería cuestión de averiguar si en algún archivo de configuración de memcached se puede establecer la RAM a usar, y entonces comprobar si tiene efecto.

User avatar
lmarmisa
Posts: 1264
Joined: Thu Feb 14, 2013 2:22 am
Location: Jávea, Spain

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Sun Jan 08, 2017 12:11 pm

Veo una diferencia entre el caso de raspdroid y el que comenté de icecast2. En mi sistema no entra en absoluto la pequeña zona de swap que hay definida, cosa que sí ocurre en el caso de rasproid aunque no sé si sólo en picos o constantemente.

Yo por mi parte soy muy reacio al swap. Un sistema que lo llega a usar habitualmente va a tener unas prestaciones muy malas. Y además el swap es más desaconsejable todavía si sólo usamos medios de almacenamiento de tecnología flash como son tarjetas SD o pendrives.

Pero lo que podría ser paradójico es que una herramienta de optimización de memoria hiciera que entrara el swap y degradara el sistema. Eso chirría bastante.

¿Es realmente la aplicación muy exigente en memoria?. ¿Hay una carga importante de peticiones al sistema que explique esa necesidad de tanta memoria?. ¿Está bien configurado/optimizado apache u otras aplicaciones para adaptarse al nivel de prestaciones al que se enfrenta?. ¿Realmente son necesarias herramientas adicionales de optimización de memoria?.

Las respuestas a esas y otras preguntas podrían poner de manifiesto si la RPi tiene o no suficiente memoria para realizar la tarea que se le pide. Si la respuesta es sí, pues perfecto. Si la respuesta es no, el problema no se arreglará vía swap sino de otro modo como bien apunta 56kbps.
Last edited by lmarmisa on Sun Jan 08, 2017 12:39 pm, edited 1 time in total.

raspdroid
Posts: 1606
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Sun Jan 08, 2017 12:34 pm

Para lo que se requiere están bien, porque son para webs con pocas peticiones diarias. Ya iré viendo el rendimiento cuando esté en funcionamiento.

Lo de la swap más que nada por no dañar la tarjeta de memoria.
Si decides repartir/separar los servicios por RPi podrías hacer algo así: una RPi para páginas dinámicas (PHP, NodeJS... lo que sea), otra para páginas estáticas (Apache pelado o algo más simple, para imágenes, CSS... etc), otra para base de datos y la cuarta para todo lo demás (¿correo? ¿DNS?). Lo bueno es que así podrás ver en qué RPi hay un consumo de RAM excesivo.
Mi idea era así:
1 x RPi2 para Servidor Web: Apache HTTP, PHP 7, NodeJS
1 x RPi2 para Servidor de Bases de Datos: MariaDB
1 x RPi2 para Servidor Mail
1 x RPi2 para Servidor DNS1 y Backup
1 x RPi2 para Servidor DNS2
1 x Intel para Servidor de Virtualización: OpenVZ

¿Podría estar bien así?

56kbps
Posts: 118
Joined: Wed Apr 13, 2016 6:22 am

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Sun Jan 08, 2017 1:30 pm

raspdroid wrote:Mi idea era así:
1 x RPi2 para Servidor Web: Apache HTTP, PHP 7, NodeJS
1 x RPi2 para Servidor de Bases de Datos: MariaDB
1 x RPi2 para Servidor Mail
1 x RPi2 para Servidor DNS1 y Backup
1 x RPi2 para Servidor DNS2
1 x Intel para Servidor de Virtualización: OpenVZ

¿Podría estar bien así?
Yo me ahorraría la RPi con DNS2 y la aprovecharía para un servidor web para páginas estáticas. La utilidad como sistema redudante de un DNS secundario va a ser muy poca si va sufrir casi los mismos potenciales problemas que el primario (y a la infraestructura misma a la que asiste): mismo hardware, misma conexión, misma localización geográfica, mismo suministro eléctrico... etc.

Por el contrario, tener dos servidores web separados por función (dinámicas/estáticas) te permitiría soportar, o cierto pico puntual de visitas, o un incremento constante de ellas.

raspdroid
Posts: 1606
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Sun Jan 08, 2017 5:36 pm

Si la infraestructura es la misma, misma fuente de alimentación e IP.

En vez de usar un servidor para 'dinámico' y otro para 'estático' no sería mejor usar un balanceador de carga como Pen y así podría añadir más servidores en el futuro y que Pen se encarge del balanceo?

56kbps
Posts: 118
Joined: Wed Apr 13, 2016 6:22 am

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Sun Jan 08, 2017 6:12 pm

Supongo que sí, el balanceador sería la solución ideal a nivel teórico. Siempre y cuando el problema surgiera por un tráfico elevado, cosa que no parece ser así. Pero quizá, en tu caso particular, si lo haces así podrías pasar de tener un problema a tener varios: varias RPi con un consumo enorme de RAM.

Dicho de otro modo, repartiendo el trabajo entre varias RPi que van a hacer lo mismo (por lo que tendrán la misma configuración) puede que, no sólo no soluciones este asunto de la RAM, si no que además lo repliques a esas otras RPi. En realidad la separación dinámicas/estáticas era sólo una pequeña sugerencia, no creo que vaya a marcar una gran diferencia.

Tal vez la mejor idea es ir quitándole servicios a la RPi principal y delegándoselos a otra(s) RPi. Pero poco a poco, como un goteo de servicios, hasta que puedas averiguar como te ha aparecido ese agujero negro de RAM/swap. En lugar de planear ya desde el principio una red de varias RPi.

Por cierto, ¿como es que tienes tantas RPi2? :o Yo sólo tengo una B+ y me estoy resistiendo a comprarme otra mejor hasta que saquen una con USB3 y gigabit. :lol:
Last edited by 56kbps on Sun Jan 08, 2017 8:09 pm, edited 1 time in total.

raspdroid
Posts: 1606
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Sun Jan 08, 2017 8:02 pm

usb3 estaría mejor en cuanto a tasa de transferencia porque no veo otra manera de conectar los discos ssd que no sea por usb.

Hace tiempo que quería hacer un cluster pequeño con las rasbperries por lo que fui comprando algunas a buen precio.

Tengo un servidor web funcionando desde hace 5/6 años y quiero sustituirlo por el cluster de raspberries, y añadir algunos servicios extras como el mail. Con la idea de escalarlo a servidores más potentes si lo voy necesitando.

Las raspberries me dan la posibilidad de familiarizarme con otros proyectos que hasta ahora no había podido usar. Más que nada por lo costosos que son los servidores. También lo podría hacer virtualizado pero mi máquina anfitriona tampoco tiene mucha potencia, apenas es capaz de emular una rom de android, siempre uso el teléfono para depurar sino es desesperante.

raspdroid
Posts: 1606
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Mon Jan 09, 2017 7:40 am

lmarmisa escribió:
De acuerdo a mi experiencia, las respuestas de comandos de ocupación de memoria como free -h o similares parecen alarmistas pero, en realidad, no pasa nada.
En la swap yo creo que no pasa nada, sino que al llenarse pues luego va borrando si lo necesita. Si queremos borrarla del todo con rellenarla con ceros (/dev/null) creo que es suficiente.

56kbps escribió:
Tal vez la mejor idea es ir quitándole servicios a la RPi principal y delegándoselos a otra(s) RPi. Pero poco a poco, como un goteo de servicios, hasta que puedas averiguar como te ha aparecido ese agujero negro de RAM/swap. En lugar de planear ya desde el principio una red de varias RPi.
Al margen de la ram es que yo quiero hacerlo así :P .
Instalé apache jmeter y tsung e iré haciendo pruebas a ver que tal.

Después de 11 horas uptime y sin solicitudes está así:
System Status Load CPU Memory Swap
servidor.raspberry.com Running [0.35] [0.19] [0.20] 5.6%us, 1.6%sy, 0.0%wa 57.7% [534.0 MB] 97.3% [249.2 MB]
Process Status Uptime CPU Total Memory Total
apache Running 11h 18m 0.0% 13.3% [123.7 MB]
Si uso apachebench con 100.000 solicitudes y una concurrencia de 30 usuarios, después de unos minutos se pone así:

Code: Select all

 ab -n 100000 -c 30 http://mi-sitio-web.com/index.php
System Status Load CPU Memory Swap
servidor-raspberry.com Running [28.32] [18.29] [8.22] 79.3%us, 15.0%sy, 2.2%wa 69.4% [643.2 MB] 97.5% [249.7 MB]
Process Status Uptime CPU Total Memory Total
apache Running 11h 30m 59.8% 84.7% [784.6 MB]
postfix Running 11h 30m 0.0% 0.8% [8.0 MB]
dovecot Running 11h 30m 0.0% 0.5% [5.3 MB]
mysqld Running 11h 30m 9.0% 10.9% [101.5 MB]
mmonit Running 11h 30m 0.0% 0.3% [3.2 MB]

1 hora después
System Status Load CPU Memory Swap
servidor-raspberry.com Running [27.33] [27.01] [26.04] 75.1%us, 15.1%sy, 2.9%wa 75.4% [698.7 MB] 99.3% [254.4 MB]
Process Status Uptime CPU Total Memory Total
apache Running 12h 21m 56.0% 59.9% [554.4 MB]
postfix Not monitored - - -
dovecot Running 12h 21m 0.0% 0.7% [6.6 MB]
mysqld Running 12h 21m 10.2% 18.7% [173.2 MB]
mmonit Running 12h 21m 0.0% 0.2% [2.7 MB]
Sigue en la misma línea ¿como lo ven? no está tan mal no? por lo menos no se han detenido los servicios (el de postfix sí pero no creo que se deba a eso, siempre está al 0.0% por lo que vi en el log es por un alias en la aliase.db.

raspdroid
Posts: 1606
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Mon Jan 09, 2017 2:46 pm

Lo de la goma elástica funciona
unnamed.jpg
unnamed.jpg (36.06 KiB) Viewed 16039 times

56kbps
Posts: 118
Joined: Wed Apr 13, 2016 6:22 am

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Mon Jan 09, 2017 4:04 pm

Parece que no esta muy tensa ¿verdad? Fantástico.

Las había usado para apelotonar la RPi y varios aparatos relacionados, pero con el tiempo la mayoría se reventaban por estar muy tensas, además temía que me doblaran algo por ejercer tanta fuerza durante tanto tiempo. Pero en tu caso parece estar lo suficientemente relajada para que no pasa ni una cosa ni otra.

raspdroid
Posts: 1606
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Mon Jan 09, 2017 5:41 pm

Es perfecta. Después de ponerla de tanto estirar la tarjeta que introducida del todo pero solo hay que separar un poco el elástico de la tarjeta y ésta intenta salir, la dejo a la altura de como lo hace un holder que está bien, luego suelto el elástico con suavidad y se queda ahí, es fantástico. La he probado vía ssh y no da ningún problema. Es mejor así más limpio y así puedo sacar y meter la tarjeta cuando lo necesite.

forumisto
Posts: 386
Joined: Fri Mar 16, 2012 8:41 am

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Thu Jan 19, 2017 1:15 pm

4 rpis ya son 160€, más las tarjetas, alimentadores. por ese precio yo buscaba algo basado en atom o celeron u otro sistema de bajo consumo que me permitiera tener todo más integrado.

supongo que la carga de todo tampoco será muy alta.

raspdroid
Posts: 1606
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Thu Jan 19, 2017 6:22 pm

Yo más que nada por reciclar. Ahora mismo si me comprase me compraría un Intel VT y un servidor de almacenamiento SSD.

Las raspberries no tienen nada conectado solo la ethernet hasta el HDMI están off. (/opt/vc/bin/tvservice -off).

Solo una tiene conectado los discos duros via usb pero se alimentan por separado no de la raspberry pi. Y cada disco consume 500mA máx, el dock es de 1A (USB 3.0).

No lo he medido, pero deben de estar por los 700-800mA cada una o quizás menos.

Un Atom, por ejemplo este https://ark.intel.com/es-es/products/71 ... e-2_00-GHz

Con 1 cpu tal cual a 2Ghz más 1 DDR3 más 2 discos SSD de 500Gb más 1 ventilador (que es lo mínimo), más teclado y ratón son 28W idle y 52W en carga. http://powersupplycalculator.net/

5 Raspberry Pi a 700mA son 3.5 amperios + 1 amperio de los discos, 22.5W

El Atom son 2.000 Mhz, Las 5 raspberries son 5 ARM-Quad 900Mhz cada una, en conjunto hacen 4.500 Mhz (sin overcloking) y 20 núcleos frente a los 2 del Atom y 5Gb en total de RAM.

No sé, creo que hasta salgo ganando pero ya digo tendría que medirlo bien es algo estimado y ahora mismo no estoy para eso.

Saludos

raspdroid
Posts: 1606
Joined: Thu Nov 06, 2014 9:15 am
Location: Gran Canaria :: España

Re: Aumentar memoria ram y/o swap en Raspberry Pi 2

Thu Jan 19, 2017 6:35 pm

Pues creo que hasta me pasé.

http://blog.pimoroni.com/raspberry-pi-3/

200mA idle y menos de 400mA ejecutando sysbench.

Aquí hay otra prueba con el Charger Doctor y tal y como las tengo yo en idle consumen 200mA que es como está en la tabla.

http://www.jeffgeerling.com/blogs/jeff- ... zero-power

A ver si me hago con un charger doctor de esos y hago la prueba con el ApacheBench con muchas solicitudes a ver cuanto consume.

Return to “Español”