Vida Tecno Idea guardada 0 veces
Sé la primera persona en valorar esta idea Valorar

Hacer que el arranque de Linux sea más rápido al deshabilitar servicios innecesarios

Cada vez más sistemas operativos se hinchan con una gran cantidad de servicios que se ejecutan en segundo plano. Aunque es posible que no usen mucho tiempo de CPU, aumentan el tiempo de arranque y el uso de RAM.

Algunas distribuciones de Linux incluyen «todo menos el fregadero», en un esfuerzo por hacer la vida del usuario más fácil. Esto hace que cosas como compartir archivos o imprimir funcionen a la perfección. Desafortunadamente, la única manera de hacer esto es incluir cientos de utilidades para que cada uno encuentre lo que necesita.

Afortunadamente, los sistemas operativos de código abierto le dan el poder y la libertad de hacer lo que crea conveniente. Esto significa que puede deshabilitar o eliminar cualquier cosa que no necesite. La primera opción, cómo desactivar los servicios, se explorará aquí. Cuando usted desactiva, en lugar de quitar, los componentes, hay menos riesgo de que se rompan permanentemente las cosas. Y puede volver a ser como era antes simplemente habilitando de nuevo un servicio si nota que algo útil ha dejado de funcionar.

Analizar el tiempo que tarda cada servicio en cargar

La mayoría de los sistemas operativos basados en Linux han migrado a Systemd . Entre el conjunto de utilidades que incluye, hay un programa que le permite analizar qué tan rápido arranca su 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. Por lo tanto, si uno requiere dos segundos para cargar y los otros tres segundos, no significa necesariamente que se necesiten cinco segundos en total. Puede ser mucho menos que eso.

Abra un emulador de terminal e introduzca este comando:

systemd-analyze



Esto muestra el tiempo que tardan en cargarse el núcleo 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 arrancar. 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 deja caer en la consola de Linux, que se parece a lo que se muestra a continuación.



Si no tuvieras una interfaz gráfica instalada, esto es lo que recibirías en tu pantalla.

Sin embargo, también puede ver el tiempo que necesita la interfaz gráfica para inicializar con este comando:

systemd-analyze critical-chain graphical.target



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 habilitarlas/deshabilitarlas, ejecute el administrador de inicio del entorno de escritorio.

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

systemd-analyze blame



Puede navegar por la lista con las teclas de flecha o PAGE UP y PAGE DOWN. Pulsar q para salir.

Usar systemctl para deshabilitar servicios innecesarios

Como puede ver en la imagen anterior, el servicio de snapd tarda 1.295 segundos en cargarse. En una unidad SSD, esto es insignificante. Pero en un disco duro, este tipo de tiempos estarían en el orden de los segundos múltiples, y se sumarían a mucho al final. Además, en una unidad 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. Las cabezas de lectura que flotan en los discos del disco tienen que moverse de un sector a otro, por lo que es casi imposible leer realmente los datos en paralelo.

Para simplificar, imagínese lo siguiente: si en una unidad SSD ve cinco servicios que requieren un segundo para arrancar, es probable que el tiempo total necesario para cargarlos todos sea inferior a 1,2 segundos. Si, en un disco duro, ve los mismos cinco servicios inicializarse en un segundo, es probable que el tiempo total de carga sea muy superior a cinco segundos.

Digamos que no necesita el servicio snapd, que proporciona acceso a containerized application snaps . Puede desactivarlo con este comando:

sudo systemctl disable snapd.service

Pero, si reinicia, notará que el demonio snap sigue funcionando. Esto se debe a que otras dependencias pueden lanzarlo, incluso si está desactivado. Trata de ver cuáles pueden ser:

systemd-analyze blame | grep snap



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

Usar systemctl para enmascarar un servicio

sudo systemctl mask snapd.service

Esto básicamente hace que el archivo de servicio sea nulo, de modo que las aplicaciones no tienen forma de iniciar el servicio.

En la mayoría de los casos no es tan complicado deshabilitar un servicio. Este ejemplo ha sido elegido para mostrarle cómo manejar escenarios más complicados. En este caso, snapd.seeded.service y snapd.socket también deberían estar desactivados o enmascarados.

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



Conclusión

De 4.078, el tiempo de arranque se redujo a 3.452 segundos, lo que supone una disminución de ~15%. No está mal, considerando que sólo un servicio fue desactivado, y esto es 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 desactivado 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 al proyecto Systemd Manager . Sin embargo, usted estará limitado en lo que puede hacer con él, ya que la línea de comandos ofrece mucha más flexibilidad.

Fuente: este post proviene de Vida Tecno, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Etiquetas: Linux

Recomendamos

Relacionado

Linux

Cómo usar Netctl en Arch Linux para configurar una conexión de red

Systemd se ha convertido en una característica principal de muchas distribuciones de Linux, incluyendo Arch Linux. Completa el proceso de arranque, inicia y detiene los servicios, e incluso trabaja estrechamente con la utilidad netctl para conectarse a Internet. Los desarrolladores de Arch Linux crearon Netctl, como indica su página de manual, para » controlar el estado de los servicios Syste ...

Linux

Utilice Zswap para mejorar el rendimiento en un PC Linux con una baja cantidad de RAM

Afrontémoslo, algunos de nosotros no actualizamos tan a menudo. O, al menos, como usuarios de Linux, nos gusta reproducir nuestros portátiles/ordenadores más antiguos . Muchas distribuciones se ejecutan cómodamente en sistemas con bajas cantidades de RAM (Random Access Memory). Los navegadores, sin embargo, no son tan indulgentes y requieren cada vez más memoria a medida que evoluciona Internet. M ...