como limpiar la memoria ram y la swap

Iniciado por chema_rubio, 22 Mayo 2007, 00:33 AM

0 Miembros y 1 Visitante están viendo este tema.

chema_rubio

hola, ayer estaba con el firefox mirado algunas paginas y empece a notar que el pc iba lento, total, que llego un momento que el raton me iba a trompicones y todo iba muy lento. entonces mire a ver que pasaba y abri el monitor del sistema (hablo de ubuntu) y vi que la memoria ram estaba al 89% y que la swap estaba al 86%, luego reinicie y todo volvio a ir perfecto.
bueno, queria saber si hay algun comando o algun programilla por ahi para limpiar la ram y la swap tipo el fastdefrag para windows.

he estado mirado en internet y la gente ha preguntado algo parecido en otros foros y les contestaban que linux ya administraba eso, pero cuando abres muchas paginas de internet y cierras la memoria se llena, porque ya me ha pasado 3 o 4 veces, entonces quiero algo para vaciar la ram y la swap.

:)
death is certain, life is not

Songoku

Yo en windows para liberar memoria y para monitorizarla todo el tiempo en un iconito junto al reloj uso el memstat. Y en linux (ubuntu) por suerte tambien funciona si se le usa a traves del wine.
En http://lawebdepablo.miarroba.com puedes descargar el memstat.
Saludos...

Songoku

k a t z

alguna vez me pasaron un comando para liberar memoria y se me blokeo la makyna xD, y tengo mis dudas del programa que menciona songoku, pero si funciona bien por ti.


hakais

#3
Efectivamente el kernel Linux ya se ocupa de eso...
Si abres muchas paginas web por ejemplo y luego las cierras, esa memoria no queda "sin usar" (como en windows), sino que pasa a ser cache. Si entonces vuelves a abrir alguna de esas páginas, ya no hará falta volver a cargarla, porque se encuentra en caché. Puedes ver el estado de tu cache con el comando "free".
Puede que no sea exactamente lo que buscas, pero hay una manera de vaciar las caches a partir del kernel 2.6.15 creo que es... Ten en cuenta que la memoria que no sea cache ni buffer, no puedes eliminarla... podrias perder datos, o recibir resultados inesperados de algunas aplicaciones que tengas funcionando.

echo -n 3 > /proc/sys/vm/drop_caches

Mira este ejemplo con mi ordenador
Citar
localhost generico # free
             total       used       free     shared    buffers     cached
Mem:       4019188    1426936    2592252          0     436104     297660
-/+ buffers/cache:     693172    3326016
Swap:      4200988          0    4200988
localhost generico # echo -n 3 > /proc/sys/vm/drop_caches
localhost generico # free
             total       used       free     shared    buffers     cached
Mem:       4019188     305552    3713636          0       1948      76508
-/+ buffers/cache:     227096    3792092
Swap:      4200988          0    4200988

De un total de 4GB tenía 2.5GB libres y 694MB en buffers y cache. Por lo que tenía unos 800MB realmente ocupados.
Despues de vaciar las caches, obtengo: 3GB libres y 220MB en buffers y cache. Por lo que conservo los 800MB de memoria ocupada.
He ganado 500MB de memoria Free.

Por último también puede serte útil el archivo: /proc/sys/vm/swappiness
Muestra un valor de 0 a 100, es la "oposicion" a usar swap. Es decir, si esta a 100, el sistema hara lo máximo para no tener que usar swap.

RECTIFICO
swappiness es la tendencia del kernel a utilizar más o menos swap. Es decir, un valor mas alto significa mas facilidad para usar swap, i más bajo menos facilidad.
El hacker es el filósofo de la actualidad

chema_rubio

ok, gracias, ahora lo probare.
mira, asi lo tengo yo ahora

             total       used       free     shared    buffers     cached
Mem:        515992     510388       5604          0       6892     228880
-/+ buffers/cache:     274616     241376
Swap:       634528      33868     600660


y en el monitor del sistema:
memoria usuario 54%
memoria intercambio 5,3%

esto es lo normal, es decir ahora el pc me va muy bien, todo rapido y como siempre, pero cuando me pongo a abrir paginas de internet al abrir muchas nuevas se ve que es lo que tu dices, la cache se llena y se ralentiza todo el sistema, lo que intente hacer fue limpiar la informacion privada con firefox y vacie la cache, pero los usos de memoria seguian igual.
probare ese comando a ver si me libera memoria.
:)
death is certain, life is not

chema_rubio

no me funciona ese comando, me dice permiso denegado

chema@chema-desktop:~$ echo -n 3 > /proc/sys/vm/drop_caches
bash: /proc/sys/vm/drop_caches: Permiso denegado
chema@chema-desktop:~$ sudo echo -n 3 > /proc/sys/vm/drop_caches
bash: /proc/sys/vm/drop_caches: Permiso denegado
chema@chema-desktop:~$ echo -n 3 > /proc/sys/vm/drop_caches
bash: /proc/sys/vm/drop_caches: Permiso denegado

ni con superuser lo puedo hacer, he de dar algun permiso o hacer algo?
death is certain, life is not

hakais

Lo de drop_caches según acabo de leer esta disponible a partir del kernel 2.6.16. ¿Que versión tienes tu? (uname -r)
Evidentement tienes que hacerlo como root...

Estos son los diferentes parámetros que puedes escribir en drop_caches:

echo 1 > /proc/sys/vm/drop_caches : Libera la pagecache.
echo 2 > /proc/sys/vm/drop_caches : Libera inodos y dentries.
echo 3 > /proc/sys/vm/drop_caches : Libera pagecache, inodos y dentries.
El hacker es el filósofo de la actualidad

chema_rubio

#7
si, si te das cuanta lo hago primero con mi usuario, y luego pruebo como root y luego lo vuelvo a hacer como usuario para asegurarme.

kernel:
chema@chema-desktop:~$ uname -r
2.6.20-15-generic

tengo ubuntu 7.07 osea que el kernel es el ultimo.
voy a volver a probar haber con los parametros que me has dado.
:)

edito:
nada, mira

chema@chema-desktop:~$ uname -r
2.6.20-15-generic
chema@chema-desktop:~$ sudo echo 1 > /proc/sys/vm/drop_caches
bash: /proc/sys/vm/drop_caches: Permiso denegado
chema@chema-desktop:~$ sudo echo 2 > /proc/sys/vm/drop_caches
bash: /proc/sys/vm/drop_caches: Permiso denegado
chema@chema-desktop:~$ sudo echo 3 > /proc/sys/vm/drop_caches
bash: /proc/sys/vm/drop_caches: Permiso denegado
chema@chema-desktop:~$
death is certain, life is not

hakais

Antes de nada asegurate que existe el archivo /proc/sys/vm/drop_caches
El hacker es el filósofo de la actualidad

chema_rubio

death is certain, life is not