Haga que Linux arranque más rápido desactivando los servicios innecesarios

Cada vez más sistemas operativos se llenan de muchos servicios que se ejecutan en segundo plano. Si bien es posible que no utilicen mucho tiempo de CPU, aumentan el tiempo de arranque y el uso de RAM.

Algunas distribuciones de Linux incluyen “todo menos el fregadero de la cocina”, en un esfuerzo por facilitar la vida del usuario. Esto hace que cosas como compartir archivos o imprimir funcionen de inmediato. Desafortunadamente, la única forma de hacerlo es incluir cientos de utilidades para que todos encuentren algo que necesitan.

Sin embargo, afortunadamente, los sistemas operativos de código abierto le brindan el poder y la libertad para hacer lo que crea conveniente. Esto significa que puede deshabilitar o eliminar cualquier cosa que no necesite. La primera opción, cómo deshabilitar los servicios, se explorará aquí. Cuando deshabilita, en lugar de eliminar, componentes, hay menos riesgo de romper cosas permanentemente. Y puede volver a ser como antes simplemente volviendo a habilitar un servicio si nota que algo útil dejó de funcionar.

Analice el tiempo que tarda cada servicio en cargarse

La mayoría de los sistemas operativos basados ​​en Linux se han migrado a Systemd. Entre el conjunto de utilidades que incluye, hay un programa que te permite analizar qué tan rápido arranca tu sistema. Específicamente, le muestra el tiempo total requerido para arrancar y el tiempo que tarda cada servicio en cargarse. Tenga en cuenta que algunos servicios se cargan en paralelo. Entonces, si uno requiere dos segundos para cargar y los otros tres segundos, no significa necesariamente que se requieran cinco segundos en total. Puede que sea mucho menos que eso.

Abra un emulador de terminal e ingrese este comando:

systemd-analyse-startup-time

Esto muestra cuánto tiempo tardan en cargarse el kernel de Linux y los servicios del sistema base, lo que significa que no tiene en cuenta el tiempo que su interfaz gráfica requiere para iniciarse. Para decirlo de otra manera, esto le muestra cuánto tiempo se requiere, desde el momento en que se carga el kernel hasta que se lo coloca en la consola de Linux, que se parece a lo que se muestra a continuación.

systemd-analyse-console

Si no tiene una interfaz gráfica instalada, esto es lo que le dará la bienvenida en su pantalla.

Sin embargo, también puede ver el tiempo requerido por la interfaz gráfica para inicializarse con este comando:

systemd-analizar-objetivo-gráfico

Esto muestra que la interfaz gráfica de usuario 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 de su entorno de escritorio.

Finalmente, probablemente el comando más útil para el propósito de este tutorial es:

systemd-analizar-culpar

Puede navegar por la lista con las teclas de flecha o PÁGINA ARRIBA y PÁGINA ABAJO. prensa q abandonar.

Utilice systemctl para deshabilitar servicios innecesarios

Como puede ver en la imagen anterior, el servicio snapd tarda 1.295 segundos en cargarse. En un SSD, esto es insignificante. Pero en un disco duro, este tipo de tiempos serían del orden de varios segundos, y al final sumarían mucho. 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, imagina esto: si en un SSD ve cinco servicios que requieren un segundo para arrancar, es probable que el tiempo total requerido para cargar todos estos sea menos de 1.2 segundos. Si, en un disco duro, ve que los mismos cinco servicios se inicializan en un segundo, es probable que el tiempo total de carga supere los cinco segundos.

Supongamos que no necesita el servicio snapd, que brinda acceso a instantáneas de aplicaciones en contenedores. Puede desactivarlo con este comando:

Pero, si reinicia, notará que el demonio snap todavía se está ejecutando. Eso es porque otras dependencias pueden iniciarlo, incluso si está deshabilitado. Trate de ver cuáles pueden ser:

systemd-analizar-grep-snap

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

Utilice systemctl para enmascarar un servicio

Básicamente, esto hace que el archivo de servicio sea nulo para que las aplicaciones no tengan forma de iniciar el servicio.

En la mayoría de los casos, no es tan complicado desactivar un servicio. Este ejemplo ha sido elegido para mostrarle cómo lidiar con escenarios más complicados. En este caso, snapd.seeded.service y snapd.socket también debe estar desactivado o enmascarado.

A continuación se muestra el tiempo de arranque mejorado.

systemd-analyse-mejorado-boot-time

Conclusión

De 4.078, el tiempo de arranque se redujo a 3.452 segundos, lo que equivale a una disminución de ~ 15%. No está mal, considerando que solo se deshabilitó un servicio, y esto está en un SSD. En un disco duro es mucho más fácil obtener resultados mucho más significativos.

En este ejemplo en particular, se podrían haber deshabilitado más servicios 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 echar un vistazo a la Administrador de Systemd proyecto. Sin embargo, estará limitado en lo que puede hacer con él, ya que la línea de comandos ofrece mucha más flexibilidad.

¿Es útil este artículo?

¡Ayúdanos a difundirlo!

Deja una respuesta

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