miércoles, 1 de diciembre de 2010

Empezando por el rendimiento.

La razón por la que muchos de mis amigos han desistido de utilizar linux es que cuando lo prueban no les gusta la poca ligereza con la que se desempeñan sus aplicaciones y siguen utilizando su sistema operativo de micro$oft y miran con envidia el que yo pueda hacer de todo sin tener virus ni antivirus.


Ahora, para mí, que sólo utilizo window$ por trabajo (o más bien cuando trabajaba) también me era algo frustrante el intentar trabajar con audio y/o video y ver que las aplicaciones y el escritorio en general no rendían como debiera respecto de mi hardware.

La solución está en compilar el kernel adecuádolo a la máquina de uno. Muchos dicen que "No es necesario compilar el kernel porque el que viene en la distro es suficientemente bueno". Otros también aseguran que es es algo "Muy complicado". Estoy de acuerdo con lo segundo pero para nada con lo primero. EL compilar un kernel sube en mucho la agilidad (no hablo de velocidad) de nuestro escritorio y si bien es complicado dejar un kernel exacto y optimizado para una máquina, se puede hacer mejoras con cambios mínimos.

Vamos por partes.
Optimizar el equipo antes de compilar
1.- La frecuencia del procesador: Hay un par de cositas que se pueden hacer para empezar a dejar nuestro equipo funcionando como un escritorio y no como un servidor. Primero vamos a subir la frecuencia máxima para el usuario.

En una sesión de un usuario con privilegios de SUDO abrimos un terminal y escribimos:

$ sudo -i
Nos va a pedir la contraseña. Con esto vamos a ser super usuarios por un ratito.

Lo siguiente es abrir el archivo de configuración de sistema para darle mayor frecuencia al usuario

$ nano /etc/sysctl.conf

al final del archivo agreguen:

vm.hpet.max-user-freq = 1024   si ocupan un kernel normal
vm.rtc.max-user-freq = 1024   si ocupan un kernel con el parche RT (Real Time) como es el caso de ubuntustudio. Se pueden agregar los dos si tienen dudas y sin que esto signifique nada malo para nuestro sistema.
Guardamos y con esto tendríamos lista la frecuencia pero para próxima vez que se inicie el equipo. Para no reiniciar se puede hacer en la misma consola y como super usuario:

$ echo 1024 > /proc/sys/dev/hpet/max-user-freq
ó
$ echo 1024 > /proc/sys/dev/rtc/max-user-freq
dependiendo de la misma condición de kernel. Esto dura hasta que se apague el equipo y por eso es mejor ponerlo en /etc/sysctl.conf para que al reiniciar el cambio, perdure.

2.- La cantidad de procesadores o cores: Se han masificado mucho los procesadores multicore y son bastante útiles. Ahora vamos a saber cuantos tenemos en nuestra máquina con el siguiente comando en la consola:
$ grep -c '^processor' /proc/cpuinfo
Esto nos va a arrojar un número. Si el número es 1 entonces hasta aquí llegamos y esperen la próxima entrada en donde vamos a compilar el kernel.

Ahora si el número es mayor que 1 esto nos da una opción interesante.

Abrimos el archivo /etc/environment para agregar las siguientes lineas:

CONFIG_SMP=y
CONCURRENCY_LEVEL=XX
Cambien XX por el número que les arroje la operación anterior. Estas son variables para el compilador que le dicen cuántos procesadores hay y si hay multiproceso simétrico.

No me queda claro si estas variables afectan o no el rendimiento de nuestro escritorio pero no hace ningún daño dejarlas ahí.

Una vez guardado todo escribimos "exit" en la consola para dejar el modo super usuario.

Hasta la próxima.

2 comentarios:

  1. Que tal,
    me alegro de ver que existen blogs como este;
    veo que vas comenzando, espero que publiques mas entradas;

    solo una duda para un neofito:
    en el archivo todo esta precedido por 'simbolos numero'
    ...la linea a escribir en el debe estar precedida tambien por uno?
    o sera la unica linea que no

    y... si no nos importa reiniciar, podemos omitir eso de 'echo...'
    y pasar asi sin mas al paso dos?(habiendo reiniciado ya)

    gracias de antemano

    ResponderEliminar
  2. Los símbolos número dejan la linea inhabilitada, es decir el intérprete de comandos no las va a toma en cuenta por lo que las líneas que agregues no deben tenerlo. Lo que ves en el archivo son ejemplos de configuración que si quieres usar debes borrar precisamente para que el intérprete los tome en cuenta.

    Sobre tu segunda pregunta tienes toda la razón, si no te importa reiniciar puedes perfectamente hacerlo para que los cambios surtan efecto.

    Gracias por tu apoyo y por tu consulta que le sirve a todos. Seguiré posteando en cuanto pueda arreglar el pc que tengo destinado para audio ya que primero se le quemó el disco duro y ahora que logré comprarlo no enciende así que no sé si es fuente de poder, placa madre o procesador, ojalá sea sólo la fuente de poder que es más barata.

    ResponderEliminar