En los últimos días me encontré con dos lindos programas que ayudan a acelerar el inicio de las aplicaciones en Linux.
Por un lado esta
PRELOAD, que es demonio que corre en backgroud y revisa las aplicaciones cargadas mas frecuentemente por los usuarios y trata de anticiparte a la carga de los mismos llevando binarios y/o librerias a la memoria RAM, para hacer su carga mas rapida. De esta forma sacrificamos un poco de memoria RAM en virtud de una carga mas rápida de las aplicaciones.
Por otro lado esta
PRELINK, que es una aplicación que modifica los archivos ELF y librerías, "prelinkenado" libreras dinámicas y ejecutables para acelerar la búsqueda de las librerías por parte de las aplicaciones, y así cargarlas mas rápidamente.
La recetaVamos a empezar por lo mas simple, por
PRELOAD, para instalarlo va a ser suficiente un simple:
aptitude install preload
En el archivo /etc/preload.conf se puede parametrizar todas las configuraciones del demonio, inclusive la cantidad de memoria a reservar, aunque en el misma pagina del proyecto recomiendan no cambiar estos últimos valores. Por defecto, para una maquina con 1GB de RAM se estarán reservando unos 83 MB para la precarga de aplicaciones.
Luego viene
PRELINK, que en este caso es un poco mas "trabajoso", empezaremos con un:
aptitude install prelink
Luego deberemos prelinkear todas nuestras aplicaciones, ejecutando el comando:
prelink -amR
En el archivo /etc/prelink.conf definimos no solo los directorios donde buscaremos las aplicaciones, sino tambien que tipos de archivos no intentaremos linkear. Como es conveniente correr este ultimo comando cada vez que instalamos una aplicacion nueva para finalizar agregamos a nuestro archivo /etc/apt/apt.conf la siguiente linea:
DPkg::Post-Invoke {"echo Ejecutando prelink, espere...;/etc/cron.daily/prelink";}
Con estos simples pasos, tendremos nuestro sistema Debian un poco mas optimizado para la carga de las aplicaciones, por un lado ganando tiempo en la carga de las librerías dinámicas y por otro pre cargando las aplicaciones mas utilizadas.