• Hola Invitado, nos gustaría recordarte que mantener este sitio en línea conlleva unos gastos mensuales y anuales.

    Sin vuestra ayuda mensual no es posible seguir en pie, no hay mucho más que contar.

    Si quieres colaborar para que sea posible por lo menos seguir en pie como comunidad, puedes hacerlo mediante alguno de los métodos disponibles en esta página: https://www.lonasdigital.com/donaciones/

    Recuerda que si necesitas invitación para acceder al foro, puedes solicitarla en nuestro Grupo de Telegram


Script Libera_Memoria

Javilonas

Javilonas

Trovador Loco
Developer
Registrado
10 Sep 2006
Mensajes
25.306
Reacciones
2.689
Puntos
322
Bueno, pues este SCRIPT tampoco es nada del otro mundo, de hecho ya existen múltiples plugin y demás que ejecutan esta tarea, a diferencia que solo liberan un poco de RAM y no OPTIMIZAN esta,

Nombre de el script: libera_memoria.sh

os dejo el contenido de el mismo:

Código:
#!/bin/sh
#DESCRIPTION=Script Liberar Memoria
echo ''
echo ''
echo ''
echo 'Vamos a comprobar la memoria actual disponible'
echo ''
echo ''
echo '******************************************************************************'
echo '            Memoria Actual, Antes de Liberar y Optimizar la Memoria RAM'
echo '------------------------------------------------------------------------------'
echo ''
free
echo ''
echo '******************************************************************************'
echo ''
echo 'Preparandose para liberar la Memoria RAM'
echo ''
echo ''
echo ''
echo ''
echo ''
echo ''
echo 'Optimizando Memoria RAM'
echo ''
echo ''
echo ''
sync
sleep 5 
echo 3 > /proc/sys/vm/drop_caches
echo ''
echo ''
echo ''
echo '******************************************************************************'
echo '            Memoria Actual, Despues de Liberar y Optimizar la Memoria RAM'
echo '------------------------------------------------------------------------------'
echo ''
free
echo ''
echo '******************************************************************************'
echo ''
echo ''
echo ''
echo ''
echo 'RAM liberada y Optimizada ;)'
sleep 1
echo ''
echo 'Script realizado por Team LD para http://www.lonasdigital.com'
echo 'No olvides Visitarnos ;)'
echo ''


exit 0


Como dije en otro hilo, estos scrips pueden ser mejorados añadiéndoles mas funcionalidad, pero para su uso es mejor así de simple y sencillo ;)

Adjunto el script para su descarga

Saludos
 

Adjuntos

Este irá del tirón por defecto a la LD para que se ejecute cada x tiempo, si se os ocurre alguna mejora os agradecería que la comentárais.

Saludos
 
en que ruta va metido este archivo ??
 
Lo mando a la zona visible, no vale de nada tenerlo oculto en la zona de el team, este script está publicado en la LD 1.2
 
aconsejaria antes de ejecutar cada
/proc/sys/vm/drop_caches para
liberar memoria ram primero utilizar el comando sync.........

que seria lo mas conveniente y mayor seguridad.....

aunque normalmente el limpiar memoria ram no da ningun tipo de problema.... pero si puede dar alguna vez algun susto..por lo que los script de liberar memoria, los pondria en las imagenes opcionales de activacion... asi cada cual que lo active si lo ve conveniente y si ve necesario activarlo por el consumo de ram...
 
Última edición:
Ya tenéis actualizado el script tanto en el archivo como en el CODE, para los que tengan miedo a los "sustos".
 
jajajajajaja, vamos que no lees el chat.. ehhhhhh
 
sync para forzar el grabado de lo pendiente y asi se asegura que se limpie con la escoba solamente lo que este libre......

Asi es menos probable que halla sustos...
 
Pues vamos hacer el cambio por el nuevo que no queremos sustos
 
lo suyo es:

sleep5
sync

se que estoy dando por culo jajajjjajj

pero es que desde que ejecutas sync....y grabas la informacion pendiente hasta que ejecutas liberar memoria pasarian 5 segundos.... y se puede limpiar por lo tanto informacion pendiente que se halla podido crear en esos 5 segundos...
 
Última edición:
††LUCIFER††;306867 dijo:
lo suyo es:

sleep5
sync

se que estoy dando por culo jajajjjajj

pero es que desde que ejecutas sync....y grabas la informacion pendiente hasta que ejecutas liberar memoria pasarian 5 segundos.... y se puede limpiar por lo tanto informacion pendiente que se halla podido crear en esos 5 segundos...

Muy tikismikis os veo ya.... El Sleep de 5 segundos es para que de tiempo suficiente a Sync a que haga su trabajo, Es más, en el deco el sync no era ni necesario pero a la vista de el tema pues he decidido ponerlo, pero eso que dices ya no tiene mucha lógica.
 
por eso decia que es dar por culo jajajjajja, pero no se si se puede dejar lo mejor posible..... pues mejor que mejor ;)

lo del sync que no era necesario en el deco?? en el deco no se produce informacion pendiente para grabar en memoria cache??

el sync si graba la informacion pendiente en memoria cache,, y pasan 5 segundos pues es posible que se genere de nuevo informacion pendiente en esos 5 segundos...

yo en todos los script para linux que por lo menos he visto para este efecto no he visto que le den x tiempo para luego ejecutar el limpiado...

Pero bueno no te lo tomes a mal ;) que simplemente era para dejar el script lo mejor posible..
 
††LUCIFER††;306884 dijo:
por eso decia que es dar por culo jajajjajja, pero no se si se puede dejar lo mejor posible..... pues mejor que mejor ;)

lo del sync que no era necesario en el deco?? en el deco no se produce informacion pendiente para grabar en memoria cache??

el sync si graba la informacion pendiente en memoria cache,, y pasan 5 segundos pues es posible que se genere de nuevo informacion pendiente en esos 5 segundos...

yo en todos los script para linux que por lo menos he visto para este efecto no he visto que le den x tiempo para luego ejecutar el limpiado...

Pero bueno no te lo tomes a mal ;) que simplemente era para dejar el script lo mejor posible..

Bueno.... Esa es tu opinión,

el sleep es recomendado siempre antes de liberar memoria cache completa (pagecache, dentries e inodos) por tanto sigo diciendo que es tu opinión y como tal la respeto, pero no la comparto, al menos yo lo veo desde otra mira distinta, Sync no es instantáneo y lo recomendado en estos casos (arriesgando a lo que comentas) es darle un respiro antes de darle caña.

y en los decos no va a pasar nada GRAVE por no usar el sync, ¿que información vas a perder? nada importante.... Y si pasa tampoco se acaba el mundo, pocas cosas peligrarían y habría que ser muy retorcido buscando tal echo y he modificado el script precisamente por no entrar en un debate largo, por tanto como te digo tu opinión es y como tal pues ahí queda.

Tengo al peque en brazos y no me da lugar ahora mismo a nada mas, pero me habría extendido un poco mas pero a una sola mano y a oscuras cuesta jeje
No me lo tomo a mal, tú sabes que no jejeje ;)
 
Hola,
si queréis completar el script un poco más, se puede indicar la memoria que liberas.
Antes del sync, se puede incluir las siguientes lineas:
Código:
memorg=` free |grep Mem | awk '{ print $4 }'`
echo "Memoria inicial libre $memorg"

y después del echo , podría el resultado de liberar la memoria:


Código:
sleep 5
memfin=` free |grep Mem | awk '{ print $4 }'`
echo "Memoria final libre $memfin"
memlib=`expr $memfin - $memorg`
echo "Total memoria liberada: $memlib"

¿que os parece?

Slds
 
Yo tengo el de antes, que diferencia hay.......



#!/bin/sh


echo ''
echo ''
echo ''
echo 'Vamos a comprobar la memoria actual disponible'
echo ''
echo ''
echo '********************************************************************************'
echo ' Memoria Actual, Antes de Liberar y Optimizar la Memoria RAM'
echo '--------------------------------------------------------------------------------'
echo ''
free
echo ''
echo '********************************************************************************'
echo ''
echo 'Preparandose para liberar la Memoria RAM'
echo ''
sleep 3
echo ''
echo ''
echo 'Por favor, espere un Momento'
echo ''
echo ''
echo 'liberando Memoria RAM...'
echo ''
echo ''
echo ''
sleep 1
echo ''
echo ''
echo 0 > /proc/sys/vm/drop_caches
echo ''
sleep 1
echo ''
echo ''
echo 1 > /proc/sys/vm/drop_caches
echo ''
sleep 1
echo ''
echo ''
echo 2 > /proc/sys/vm/drop_caches
echo ''
sleep 3
echo ''
echo ''
echo ''
echo 'Preparandose para optimizar la Memoria RAM'
echo ''
sleep 3
echo ''
echo ''
echo 'Por favor, espere un Momento'
echo ''
echo ''
echo 'Optimizando Memoria RAM'
echo ''
echo ''
echo ''
sleep 1
echo ''
echo 3 > /proc/sys/vm/drop_caches
echo ''
echo ''
echo ''
echo ''
echo '********************************************************************************'
echo ' Memoria Actual, Despues de Liberar y Optimizar la Memoria RAM'
echo '--------------------------------------------------------------------------------'
echo ''
free
echo ''
echo '********************************************************************************'
echo ''
echo ''
echo ''
echo ''
echo 'RAM liberada y Optimizada ;)'
sleep 1
echo ''
echo ''
echo ''
echo 'Script realizado por Team LD para http://www.lonasdigital.com'
echo 'No olvides Visitarnos ;)'
echo ''


exit 0
 
Hola,
yo he puesto el script en el cron y al cabo de un par de dias al hacer un ps me aparecen carácteres "raros". ¿es posible que el script esté afectando al sistema operativo?
Este es un ejemplo de lo que me aparece:

Código:
  148 root         0 SW   [tPlaypump]  261 root      4016 S    {nmbd} o9¿·on ã^s&CïunËü}]{c¿Ðh±]ѱïýVú³æô¶¶rWV÷ÛÔT§åÅõ÷wý
  263 root      7124 S    smbd -D
  276 root      7124 S    {smbd} n8·»gf ïVr/Bîtg~¨Êí|\z¢¾ñI°\аîüFê£v䦦bV×ö ÚUÕ¦¤Äôövü
  294 daemon    1996 S    {portmap} yuyYL·yzuhmYOï{{oO_ ÊMJ7vî -~~Á_f}»ceTjz kÿ*gbe{
  306 messageb  3048 S    {dbus-daemon} UFS}Y L\©émuµ¤x]E¯ÿ|iɳ¶*M.¬£e=IXn ¦VM\î/&NbZ,/O'a
  310 root      2664 S    /usr/sbin/dropbear -r /etc/dropbear/dropbear_rsa_host_key -p 22
  315 root      2916 S    /usr/sbin/crond -c /etc/cron/crontabs
  321 root      2772 S    {inetd} ûtélXNîzz~nN§ ëLk6þæ *vvIWo|ºkd]cs jþ¬&s~dz?VXe Þ v¶ac
  329 root      2656 S    /sbin/syslogd -n -O /var/log/messages
  331 root      2656 S    /sbin/klogd -n
  338 avahi     3692 S    {avahi-daemon} °ñ ;9UÜûÙÑÝýø7 ÙÚÕÈÍý{ßKKO]¿yâ©{)æif ÖN½ÞÞcýNUK
  339 avahi     3692 S    {avahi-daemon} YU9xx IÍÕ  Øùá _ÌÉm  y U etJ;rixNÏìÊøe IM
  346 root      2656 S    {enigma2.sh} µÖÖëõGTJLwK[:ZÎ CNTV rtA*ú6REf  r| ÚZJG¾ë   ®
  353 root     98.0m S    /usr/bin/enigma2
 
Para dream800 tambien vale?

gracias
 

Temas similares

R
Respuestas
1
Visitas
475
Javilonas
Javilonas
J
Respuestas
0
Visitas
712
juspahilon
J
J
Respuestas
3
Visitas
359
cen00
C
payback126
Respuestas
15
Visitas
2K
payback126
payback126
S
Respuestas
1
Visitas
343
sidesgame
S
Atrás
Arriba