POTENCIA Y MEJORA EL RENDIMIENTO DE TU SISTEMA GNU/LINUX -TUTORIAL-

in gnu •  7 years ago 

 

INSTALAR Y CONFIGURAR PRELINK

En la mayoría de distribuciones Linux prelink viene en los repositorios oficiales. Por lo tanto para instalar prelink abrimos un terminal y tecleamos:

sudo apt-get install prelink

Seguidamente para activar prelink tenemos que acceder a su archivo de configuración. Para acceder a su archivo de configuración tecleamos el siguiente comando en la terminal:

sudo gedit /etc/default/prelink

Se abrirá el editor de textos. Ahora tenemos que modificar los siguientes parámetros del archivo de configuración:Dentro del fichero veremos que hay el siguiente texto:

PRELINKING=unknown

Tenemos que modificar esta linea y dejarla como podéis ver a continuación:

PRELINKING=yes
Nota: Es posible que en vuestra distro el valor estándard de la variable PRELINKING sea ‘NO’ en vez de ‘UNKNOWN’. Si es este el caso lo único que hay que hacer es cambiar el ‘no’ por ‘yes’

Dentro del mismo archivo de configuración también podemos modificar las opciones de funcionamiento de prelink. Dentro del archivo de configuración veremos una linea que pone:

PRELINK_OPTS=-mR

-mR son las opciones de configuración estándard de prelink. En mi caso las modifico quedando del siguiente modo:

PRELINK_OPTS=-amR

El significado de cada una de las opciones de configuración es:a: Especifica que se haga un prelink de la totalidad de binarios y de las librerías especificadas en el directorio /etc/prelink.conf.m: Opción que permite un ahorro de memoria cuando se enlazan los ficheros binarios y las librerías compartidas. Lo consigue de la siguiente manera. Antes hemos dicho que prelink asigna una dirección virtual única a cada una de las librerías compartidas. Pero bajo determinadas circunstancias prelink hará que distintas librerias puedan tener la misma dirección virtual única con el consecuente ahorro de memoria. Esta opción es sobretodo útil en el caso que el número de enlaces a realizar sea alto.R: El proceso de asignar direcciones a las librearías compartidas lo hace de forma aleatoria.Para tener una explicación más detallada del funcionamiento y de las diferentes opciones que tiene prelink podemos abrir una terminal y teclear:

man prelink

De este modo podemos ver y comprender la totalidad de opciones que nos ofrece prelink.

EJECUTAR PRELINK POR PRIMERA VEZ

Seguidamente iniciaremos prelink por primera vez. Para iniciarlo por primera vez tenemos abrir una terminal e introducir el siguiente comando:

sudo prelink -amvR

 

ASEGURAR QUE PRELINK NO HAGA INESTABLE NUESTRO SISTEMA

Como hemos visto en la explicación inicial estamos modificando los binarios de nuestro sistema operativo para que puedan acceder a las librerías compartidas mucho más rápido de lo habitual. Esto significa que en el momento que actualicemos o recompilemos un programa se perderá el efecto de prelink ya que estaremos reemplazando el fichero binario modificado por otro completamente nuevo.Por lo tanto después de cualquier utilización es recomendable volver a ejecutar el comando:

sudo prelink -amvR

De este modo estaremos reconstruyendo los enlaces de las librerías compartidas con los binarios. Este proceso es necesario realizarlo periódicamente para no perder el efecto de prelink.Si queremos evitar tener que rehacer los prenlaces cada vez que modifiquemos los paquetes de nuestro sistema tenemos una solución fácil. En el archivo de configuración /etc/default/prelink vemos que prelink viene configurado para ejecutarse automáticamente cada 7 días a través de cron.daily. Conociendo esto podemos hacer que se revisen los enlaces automáticamente cada vez que se modifiquen los ficheros de nuestro sistema. Para ello abrimos una terminal y tecleamos:

sudo gedit /etc/apt/apt.conf

Se abrirá el editor de texto. Una vez dentro del fichero de configuración de apt tan solo tenemos que copiar el siguiente texto al final de fichero:

DPkg::Post-Invoke {"echo Ejecutando prelink, por favor espere...;/etc/cron.daily/prelink";}

Guardamos, salimos y listo. De este modo cada vez que se actualicemos un paquete, ya sea con synaptic o con apt-get , se ejecutará prelink automáticamente y todos los binarios serán pre enlazados con las librerías correspondientes. 

 

INSTALAR PRELOAD

Instalar Preload es muy fácil. Solamente tenemos que abrir una terminal y teclear el siguiente comando:

sudo apt-get install preload

Tanto en Debian como en ubuntu ya no hay que hacer nada mas. A partir de este momento preload estará activo cada vez que arrancamos nuestro sistema. Así de simple. Con este simple comando se precargaran los ficheros, librerías y mapas de procesos que más usamos en nuestra memoria RAM y cuando arranquemos ciertas aplicaciones evitaremos tener que acceder a nuestro disco duro para que se inicien las aplicaciones.

Nota: Puede ser posible que el arranque de nuestro sistema sea un poco más lento si tenemos instalado Preload. El motivo es que Preload precargará la información que considere oportuna en nuestra memoria RAM en el arranque del sistema.
Nota: Hay distros linux en que no se activa automáticamente el demonio de preload. Hay que activarlo manualmente. Por ejemplo una de estas distros es Manjaro. Seguramente haya otras.

OPCIONES DE CONFIGURACIÓN DE PRELOAD

La configuración estandard de Preload funciona a la perfección. Por lo tanto en principio no es necesario ajustar ningún parámetro. No obstante en el caso que alguien por necesidad o por experimentar quiere modificar algún parámetro lo puede realizar tranquilamente modificando los parámetros del siguiente archivo:

sudo gedit /etc/preload.conf
Nota: Es altamente recomendable no tocar estos valores. Es probable que cualquiera de los nuevos valores introducidos impliquen un empeoramiento del rendimiento del sistema. En función de los cambios que se realicen el sistema operativo se puede volver inestable.

Algunos de los valores que se pueden modificar en el fichero de configuración son:

Parámetro cycle

Este parámetro por defecto tiene un valor de 20. Lo que significa el valor 20 es que cada 20 segundos el demonio preload analizará si la información que tenemos precargada en nuestra cache es la adecuada en función del uso que nosotros damos al ordenador. Por lo tanto preload cada 20 segundos recopila datos , hace una predicción de los datos a cargar en nuestra memoria, y finalmente los carga si es preciso.

Nota: Un valor demasiado bajo puede reducir el rendimiento y la estabilidad. En el fichero de configuración nos advierte que el valor de este parámetro tiene que ser un valor par.

Parámetro Usecorrelation

Por defecto tiene el valor de True. Este parámetro solo puede tener como valores True o False.Si el parámetro es true preload usará coeficientes de correlación a la hora de realizar la predicción de la información que hay que cachear y precargar en memoria. A priori si se usan coeficientes de correlación las predicciones que hará preload serán mejores.

Nota: Desconozco el tipo de coeficientes de correlación que usa Preload. No obstante un coeficiente de correlación que mucha gente conocerá es el de pearson. Cuando hacíamos regresiones lineales en el colegio sacábamos un coeficiente alfa o coeficiente de Pearson. Si teníamos una alfa de 0,99 quería decir que la recta se ajustaba a nuestra nube de puntos y que por lo tanto se podía realizar una predicción exacta de lo que puede pasar al tocar una de las variables.

Parámetro Minsize

Este parámetro por defecto tiene un valor de 2000000 bytes. Este valor implica que Preload solo considerará precargar en memoria aquellos mapas de procesos con una tamaño superior a 2000000 bytes. Por lo tanto si bajamos este valor Preload cacheará multitud información para arrancar incluso las aplicaciones más ligeras mientras que si subimos mucho este valor Preload solo precargará información para el arranque de aplicaciones pesadas.

Nota: Si incrementamos mucho este valor es posible que preload pierde efectividad mientras que si lo bajamos mucho nuestro ordenador estará consumiendo más recursos de los deseados.

Parámetros memtotal, memfree y memcached

Estos tres parámetros son los que determinarán el máximo de memoria RAM que podrá ser utilizada por Preload. Los valores de estos 3 parámetros se indican en % y pueden tomar un valor de -100 a 100. Los valores por defecto son respectivamente -10%, 100% y 30%. El significado de estos valores es:Usa como máximo el 100% de la memoria libre menos un 10% de la memoria total más un 30% de la memoria cache que está en uso.

Nota: Por lo tanto Preload nunca dejará seco de memoria RAM a nuestro ordenador. Estos parámetros nos asegurarán aprovechar al máximo la memoria RAM disponible.

Parámetro doscan

Este parámetro tiene dos valores posibles. False o True. De forma predeterminada viene fijado en True. No tiene sentido fijar el valor de este parámetro en False ya que entonces Preload perdería su funcionalidad. En el caso de fijar el valor de este parámetro en False Preload dejaría de escanear los procesos que usamos más habitualmente.

Parámetro dopredict

Este parámetro al igual que el anterior solo puede tener los valores False o True. De forma predeterminada este parámetro viene fijado en True. En el caso que lo fijáramos en False Preload perdería toda su funcionalidad ya que estaríamos deshabilitando la función de predicción de los mapas de procesos que hay que precargar en la RAM.

Parámetro autosave

Este parámetro viene prefijado con un valor de 3600 segundos. Esto implica que cada 3600 segundos Preload guardará su estado en el disco. Es decir cada 3600 segundos se hará una copia de los archivos que Preload tiene cacheados. No es estrictamente necesario tener activada esta característica ya que cada vez que se apague el demonio Preload se guardará su estado en disco con el fin de poder volver a recuperar la información que tenemos cacheada una vez arranquemos el ordenador de nuevo.

Parámetro mapprefix

El parámetro mapprefix sirve para indicar que ciertas rutas no sean escaneadas/monitoreadas por Preload. El valor por defecto de este parámetro es empty list, accept all. Por lo tanto en principio Preload escaneará y monitoreará la totalidad de rutas existentes.En el caso de querer excluir una ruta del monitoreo de Preload lo podemos hacer con la sintaxis que se describe dentro del mismo fichero de configuración.

Parámetro exeprefix

El parámetro exeprefix sirve para indicar que ciertos archivos binarios no sean escaneados/monitoreados por Preload. El valor por defecto de este parámetro es empty list, accept all. Por lo tanto en principio Preload escaneará y monitoreará la totalidad de ficheros binarios existentes.En el caso de querer excluir un fichero binario de del monitoreo de Preload lo podemos hacer con la sintaxis que se describe dentro del mismo fichero de configuración. 

 Activar y utilizar ZSwap

 Antes de activar y utilizar ZSwap, comprobar por nosotros mismos que está activado, así, solo hemos de escribir lo siguiente en la terminal:

1cat /boot/config-`uname -r` | grep -i zswap

Si nos aparece esto CONFIG_ZSWAP=y, significará que está activado, si aparece lo mismo pero terminado en “n”, significará que no lo tenemos activado. Si no lo tenemos activado hemos de editar el archivo del grub. Para ello abrimos gedit con permiso de root:

1gksu gedit /etc/default/grub

Y sustituimos  la linea:

1GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Por 

 

1GRUB_CMDLINE_LINUX_DEFAULT = "splash silencioso zswap.enabled = 1 zswap.compressor = lz4"

Guardamos, cerramos el archivo y actualizamos el grub:

1sudo update-grub

Ahora hemos de activar otra herramienta que utiliza ZSwap, el compresor Lz4. Para ello, desde la misma terminal, escribimos lo siguiente:

sudo su
echo lz4 >> / etc / initramfs-tools / modules
echo lz4_compress >> / etc / initramfs-tools / modules
update-initramfs -u

Reiniciamos el pc y ahora podemos volver a comprobar si tenemos activado ZSwap, utilizando el primer comando que utilizamos en la termina y mostrando el mensaje primero. 

FUENTES:

https://geekland.eu/incrementar-el-rendimiento-con-preload/

https://geekland.eu/incrementar-el-rendimiento-con-prelink/

https://ubunlog.com/mejorar-rendimiento-ubuntu-gracias-zswap/


Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://geekland.eu/incrementar-el-rendimiento-con-preload/