Soy usuario de Ubuntu desde su versión 6.06, y quedé encantado con este sistema operativo. Actualmente tengo la versión 11.04, y la verdad he quedado bastante aburrido e incluso en ciertos momentos me siento engañado, ya que parte de la filosofía de Ubuntu siento que se ha perdido en estas nuevas versiones, como la inclusión de Unity o la copia del Look n Feel y funcionalidad del Sistema Operativo MAC. Asimismo, he notado cierta disminución del desempeño de mi máquina, una Dell Inspiron 1420 con un Intel Core 2 Duo a 2 GHz y 2GB de RAM (es cierto, es viejo el equipo, ya se van a cumplir 4 años con él!). Aquí coloco los procedimientos que me han servido para llegar a obtener una funcionalidad al menos similar a la anterior versión que estuve manejando, una de las más estables hasta el momento, la 10.04.
Cambiar el parámetro swappiness del núcleo Linux
Como usuarios Linux es muy seguro que conozcamos el término Swap, equivalente a memoria de intercambio, la partición en disco duro destinada a realizar funciones en conjunto con la RAM para la ejecución de programas. El kernel o núcleo Linux de las recientes versiones incluye un parámetro que permite controlar la frecuencia con la cual ciertas aplicaciones en ejecución pasan a swap para optimizar el desempeño de las más usadas. Este parámetro es el swappiness, y puede ir en detrimento del desempeño de nuestro equipo en algunas ocasiones, ya que si no hemos utilizado por algún tiempo alguna aplicación abierta, ésta pasará a memoria swap en disco duro, y cuando volvamos a cargarla, el sistema operativo debe volver a hacer la transferencia de memoria swap a RAM, y como debemos saber, el acceso a disco duro siempre será mucho más lento que a memoria RAM, lo que involucra el respectivo retardo en algunos procesos. El valor de la variable swappiness varía entre 0 y 100, donde el nivel más bajo implica que el sistema evita hacer swap, mientras que el nivel más alto implica que el sistema busca siempre gestionar el uso de memoria RAM mediante swapping. Pues bien, para observar el valor de swappiness actual, utilizaremos el siguiente comando:
# sudo cat /proc/sys/vm/swappiness
Ubuntu tiene este parametro configurado por defecto en 60. Podemos cambiar el valor del parámetro swappiness de manera muy sencilla, con el siguiente comando, que pondrá el parámetro swappiness en 10:
# sudo sysctl -w vm.swappiness=10
De esta manera el valor de swappiness queda en 10 y notaremos una mejoría en nuestro sistema. Este cambio sin embargo se mantiene solamente mientras nuestra sesión esté abierta. Para dejar el cambio de manera permanente, debemos editar el archivo sysctl.conf:
# sudo gedit /etc/sysctl.conf
Y agregar la línea mostrada a continuación:
vm.swappiness=10
Para ver una explicación más detallada de cómo el kernel Linux utiliza la variable swappiness, pueden consultar esta página:
Como dicen en ese post, no se trata de dejar el valor de swappiness siempre bajo, es dependiente del uso de nuestro sistema. Por lo tanto, puede ser interesante tener una aplicación gráfica para gestionar este valor fácilmente. En el siguiente enlace encuentran la forma de instalar este sencillo programa:
Procesos y servicios activos
Generalmente utilizo el Monitor del sistema de Ubuntu para rastrear programas y servicios ejecutandose, y analizar cuales me están consumiendo recursos. Sin embargo, tuve el caso en que tenía mi memoria RAM ocupada en un 75% desde el mismo inicio del sistema, y la suma de procesos en el Monitor del Sistema no era coherente con la RAM ocupada. Buscando en internet, encontré un script muy sencillo en Python, el cual me pareció que entregaba información clara sobre los procesos que corren actualmente en sistema. El script lo pueden descargar del siguiente enlace:
mem-info.py. Por cuestiones de seguridad, no se puede colocar un archivo ejecutable en el repositorio que estoy utilizando (simplemente mi cuenta Dropbox), por lo que se debe cambiar el nombre del archivo por mem-info.py cuando lo hayan descargado. El uso de este archivo es muy muy sencillo, simplemente en consola ejecuten:
# sudo ./mem_info-py
Y debe aparecer la lista de procesos activos en memoria RAM, organizada de menor a mayor, como se muestra a continuación.
En mi caso pude identificar que el programa Openbravo, un ERP que había instalado hace unos días, estaba consumiendome muchisimos recursos. Una parada del proceso permitió volver al desempeño normal de mi máquina.
Monitor de frecuencia de la CPU
Otra herramienta que me ha parecido muy valiosa es añadir unos pequeños widgets a mi panel principal, para controlar la frecuencia de los dos núcleos de la CPU de mi computador. Simplemente damos clic derecho en un panel de Gnome, seleccionamos la opción "añadir al panel" y seleccionamos del menú que aparece, la opción de
Monitor de frecuencia de la CPU:
Y lo arrastramos al panel donde lo queramos ubicar. Agregue uno por cada núcleo de su CPU. Posteriormente, se debe configurar el widget, haciendo clic derecho sobre éste y seleccionando la opción
Preferencias. En la ventana que aparece, seleccione el núcleo al que hará referencia el widget, y seleccione su apariencia (sólo gráfica, gráfica y texto, solo texto). Personalmente elijo la de solo gráfica para que el widget ocupe el espacio mínimo:
Finalmente configure cómo quiere que funcionen por defecto los núcleos. Personalmente los dejo por defecto en la opción
OnDemand. Sin embargo cuando requiero exigir mi máquina, selecciono la opción Performance (Alto desempeño). Esto calienta más el equipo y la batería dura menos, pero puede ser útil cuando requerimos exigir en recursos al computador. Se puede ver a continuación como quedan los widgets en el panel:
Virtualbox
Para aquellos de nosotros que utilicemos máquinas virtuales, en el caso de Virtualbox, es recomendable actualizar a las últimas versiones, ya que incluyen mejoras en el desempeño en entornos Unity. Al menos así logré mejorar el desempeño de mi máquina corriendo Windows XP virtualizado en mi host Ubuntu.
Espero que estas pequeñas recomendaciones les sirvan, igual existen muchas más posibilidades para mejorar el desempeño de nuestro sistema operativo, los invito a que las comenten para ampliar este post.