Get started with Drupal 7


Forzar a Ubuntu a liberar RAM

¿Os acordáis de los famosos task killer de Android? Estos programas se hicieron muy famosos desde eclair hasta gingerbread ya que la gama media de los teléfonos de esa época rara vez superaban los 500mb de RAM y por tanto, en cuanto habríamos unas cuantas aplicaciones se saturaba la memoria RAM.

Actualmente con los teléfonos de 1gb y 2gb de RAM no tenemos ese problema, y aunque si que hay gente que sigue usando los famosos task killer, están ya en desuso. Los Task killer se encargaban de matar procesos que estaban corriendo en segundo plano en nuestro teléfono móvil para liberar ese espacio de la memoria RAM.

Forzar a Ubuntu a liberar RAM, task killer ubuntu
En Ubuntu nunca he visto que la gente use estos task killer ya que cualquier ordenador "normalito" puede ejecutar Ubuntu sin tener ningún tipo de problema. Aun así, siempre podemos usar un task killer para forzar a liberar memoria RAM en Ubuntu.

Antes de continuar quiero recalcar una cosa que mucha gente no tiene clara. La memoria RAM está para usarse. No es lo mismo liberar carga de la memoria RAM que del procesador. Si el procesador no se usa, el ordenador si que va más rápido, pero si la memoria RAM no se usa, el ordenado funciona más lento. ¿Cómo ocurre esto? En el vídeo que veréis al final de la entrada lo comprenderéis mejor.

Cuando abrimos una aplicación y al tiempo la volvemos a cerrar, el ordenador deja parte de esa aplicación en "espera" dentro de la memoria RAM. De esta manera, si volvemos a abrir esa aplicación, el ordenador no empieza de cero a abrir la aplicación ya que parte de esta aun sigue abierta. Por lo tanto, cuantas más aplicaciones tengamos en la memoria RAM más rápido irá el ordenador.

El problema viene cuando se satura la memoria RAM. Cuando estamos llenando la memoria ram de procesos inactivos, el ordenador empieza a usar la memoria de intercambio (que es mucho más lenta que la memoria RAM) para usarla como memoria RAM y por tanto, ahí si el ordenador se vuelve más lento. El segundo motivo por el que el ordenador se vuelve más lento cuando ocupamos toda la memoria RAM es que cuando abrimos una aplicación linux automáticamente "mata" un proceso inactivo. Por lo tanto, cuando tenemos muy llena la memoria RAM el ordenador primero cierra un proceso y luego abre otro, por lo tanto, se vuelve más lento.
Pero si quitamos esos casos extremos, si por ejemplo tenemos 4gb de RAM y estamos usando 700mb, no va a funcionar más rápido el ordenador por usar 500mb. 



Una vez explicado esto, vamos a forzar a Ubuntu a liberar memoria RAM. Como ya he dicho, el propio ordenador elige cuando liberar memoria RAM de los procesos inactivos, pero si queremos hacerlo nosotros, también se puede hacer, pero repito por última vez, esto no quiere decir que el ordenador vaya a funcionar más rápido.

Lo primero que tenemos que hacer es abrir la terminal y escribir:

  1. watch -n 1 free -m -h
Con este comando la terminal nos va a mostrar por pantalla la memoria RAM libre, la total, la usada, etc.

Ahora vamos a usar el famoso "task killer" para cerrar los procesos inactivos de Ubuntu. Abrimos la terminal y escribimos
  1. sudo sync && sudo sysctl -w vm.drop_caches=3
Se que muchos estaréis pensando en este momento: "bueno, esto también lo podemos hacer desde el monitor del sistema". Si se puede hacer desde ahí, pero desde aquí es todo mucho más rápido ya que Ubuntu se encarga de matar todos los procesos inactivos dejando solo los procesos activos, y no tenemos que ir de uno en uno. Un saludo

3 comentarios:

Gaspar Fernández dijo...

También es muy útil cuando ves que tienes swap ocupada y tienes suficiente RAM libre hacer:
$ sudo swapoff -a && sudo swapon -a
Así desactivas la swap provocando el volcado a RAM y reactivas la swap para que puedas volver a utilizarla con normalidad.

Anónimo dijo...

Recuperando 235Mb de la Ram...
Gracias buen tuto.

edie dijo...

Muy util el tutorial

Publicar un comentario