El parche de 200 líneas para el kernel, o su versión en espacio de usuario, mejora el rendimiento interactivo agrupando los procesos por tty. La mejora sólo será notable si tenemos varios procesos asociados a un terminal que tengan un consumo importante de CPU, ya que la potencia de ésta no se repartirá entre el número de procesos sino entre el número de grupos de procesos. De ahí que sea una mejora interactiva, el ordenador no irá más rápido, pero sí tendremos la sensación de que responde más rápido. Este parche requiere un kernel superior al 2.6.36 con soporte a grupos de tareas.

Para saber los procesos que están asociados a una terminal podemos ejecutar:

$ ps -e | grep -v ?

(Los procesos que tienen un interrogante no están asociados a ninguna terminal.)

Para aplicar el parche, en Ubuntu:

  • editamos el archivo /etc/rc.local y añadimos, antes del exit 0:

    $ mkdir -p /dev/cgroup/cpu
    

    $ mount -t cgroup cgroup /dev/cgroup/cpu -o cpu $ mkdir -m 0777 /dev/cgroup/cpu/user $ echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent

  • lo hacemos ejecutable, por si acaso no lo estuviera ya:

    $ sudo chmod +x /etc/rc.local
    
  • editamos nuestro ~/.bashrc y añadimos:

    if [ "$PS1" ]; then
    

    mkdir -p -m 0700 /dev/cgroup/cpu/user/

    $$ echo $$
    > /dev/cgroup/cpu/user/
    $$/tasks echo "1" > /dev/cgroup/cpu/user/$$
    /notify_on_release fi

  • creamos el archivo /usr/local/sbin/cgroup_clean y añadimos:

    #!/bin/sh
    

    if [ "\(*" != "/user" ]; then rmdir /dev/cgroup/cpu/\)* fi

  • le damos permisos de ejecución:

    $ sudo chmod +x /usr/local/sbin/cgroup_clean
    
  • y, por último, ejecutamos el script:

    $ sudo /etc/rc.local
    
  • o reiciniamos:

    $ sudo reboot
    

Entradas relacionadas


Published

Category

admin

Tags

Contacto