Luzablue

Tecnología y más

Acelere el inicio de Linux deshabilitando servicios innecesarios
Linux

Acelere el inicio de Linux deshabilitando servicios innecesarios

Cada vez más sistemas operativos están sobrecargados con muchos servicios que se ejecutan en segundo plano. Aunque no requieren mucho tiempo de CPU, aumentan el tiempo de carga y el uso de RAM.

Algunas distribuciones de Linux incluyen «todo excepto el fregadero de la cocina» en un esfuerzo por hacer la vida más fácil para el usuario. Esto hace que cosas como compartir archivos o imprimir sean inmediatas. Desafortunadamente, la única forma de hacerlo es incluir cientos de utilidades para que todos puedan encontrar lo que necesitan.

Sin embargo, afortunadamente, los sistemas operativos de código abierto le brindan el poder y la libertad para hacer lo que crea que es correcto. Esto significa que puede apagar o eliminar cualquier cosa que no necesite. La primera opción, cómo desactivar los servicios, se explorará aquí. Cuando desactiva, en lugar de quitar componentes, existe un menor riesgo de romper cosas permanentemente. Y puede volver a lo que era antes, simplemente reactivando un servicio si nota que algo útil ya no funciona.

Analizar el tiempo necesario para cargar cada servicio

La mayoría de los sistemas operativos basados ​​en Linux se han migrado a Systemd. Entre la suite de utilidades que incluye, hay un programa que te permite analizar la velocidad de arranque de tu sistema. Específicamente, le muestra el tiempo total requerido para iniciar y el tiempo requerido para cargar cada servicio. Tenga en cuenta que algunos servicios se cargan en paralelo. Entonces, si uno tarda dos segundos en cargarse y el otro tres segundos, eso no significa necesariamente cinco segundos en total. Puede ser mucho menos que eso.

Abra un emulador de terminal e ingrese este comando:

Esto muestra cuánto tiempo lleva cargar el kernel de Linux y los servicios básicos del sistema, lo que significa que no tiene en cuenta el tiempo que lleva iniciar la GUI. En otras palabras, le muestra cuánto tiempo toma, desde que se carga el kernel hasta que permanece en la consola de Linux, que se parece a lo que se describe a continuación.

consola-systemd-analysis

Si no ha instalado una interfaz gráfica, será recibido en la pantalla.

Sin embargo, también puede ver cuánto tiempo tarda la GUI en inicializarse con este comando:

systemd-analyse-target-graphics

Esto muestra que la GUI se cargó en 2.126 segundos. Esto no tiene en cuenta el tiempo necesario para cargar las utilidades de escritorio. Para habilitarlos / deshabilitarlos, inicie el administrador de inicio del escritorio.

Finalmente, el comando probablemente más útil para este tutorial es:

falla de análisis systemd

Puede navegar por la lista con las teclas de flecha o ENCABEZADO DE PAGINA y FUNDAMENTALMENTE. Prensa q rendirse.

Use systemctl para deshabilitar servicios innecesarios

Como puede ver en la imagen de arriba, el servicio snapd tarda 1295 segundos en cargarse. En un SSD, esto es insignificante. Pero en un disco duro, ese tipo de tiempos serían del orden de varios segundos y terminarían siendo muchos. Además, en un SSD, muchas cosas se cargan en paralelo con una eficiencia increíble. En un disco duro, es muy difícil que los servicios se carguen en paralelo. Los cabezales de lectura que flotan en los platos del disco tienen que moverse de un sector a otro, por lo que es casi imposible leer datos en paralelo.

Para simplificar, imagine esto: si ve cinco servicios en un SSD que tardan un segundo en iniciarse, el tiempo total que lleva cargarlos todos probablemente sea menos de 1,2 segundos. Si ve los mismos cinco servicios inicializados en un segundo en un disco duro, es probable que el tiempo de carga total supere los cinco segundos.

Suponga que no necesita el servicio snapd, que proporciona acceso a instantáneas de aplicaciones en contenedores. Puede deshabilitarlo con este comando:

Pero si reinicia, notará que el demonio snap todavía se está ejecutando. Esto se debe a que otras dependencias pueden iniciarlo, incluso si está deshabilitado. Intenta ver cuáles podrían ser:

systemd-analysis-grep-snap

snapd.seeded.service y snapd.socket son culpables aquí. Un servicio para niños puede solicitar el lanzamiento de su servicio para padres. Cuando deshabilita uno, le dice que no se inicie automáticamente por sí solo. Pero existe un método de fuerza bruta para resolver este problema.

Utilice systemctl para ocultar un servicio

Esto prácticamente cancela el archivo de servicio para que las aplicaciones no tengan forma de iniciar el servicio.

En la mayoría de los casos, no es tan difícil desactivar un servicio. Este ejemplo fue elegido para mostrarle cómo manejar escenarios más complejos. En este caso, snapd.seeded.service y snapd.socket también debe estar desactivado u oculto.

A continuación se muestra la mejora en el tiempo de carga.

tiempo de arranque mejorado de systemd-analysis

Conclusión

De 4.078, el tiempo de carga se ha reducido a 3.452 segundos, lo que significa una disminución de aproximadamente un 15%. No está mal, dado que solo se deshabilitó un servicio y se encuentra en un SSD. En un disco duro, es mucho más fácil lograr resultados mucho más significativos.

En este ejemplo en particular, varios servicios podrían haberse desactivado con un comando como: sudo systemctl mask avahi-daemon.service ModemManager.service thermald.service pppd-dns.service.

Si prefiere una aplicación gráfica para gestionar sus servicios, puede consultar Administrador de Systemd proyecto. Sin embargo, estará limitado en lo que puede hacer con él, ya que la línea de comando ofrece mucha más flexibilidad.

DEJA UNA RESPUESTA

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *