¿Cómo mejorar el tiempo de inicio del sistema OpenRC?

¿Cómo mejorar el tiempo de inicio del sistema OpenRC?

MiGentoosistema conInicio de OpenRCtarda mucho en iniciarse, unos 24 segundos (medido desdeCOMIDAaDMG). Me preguntaba si hay alguna forma recomendada de mejorar este tiempo. Pero lo que encontré no es mucho sobre este tema en Internet.

Tengo un Intel Core i5-6400 y un Samsung SSD 970 EVO Plus de 500GB.

Respuesta1

A todo el mundo le encantan los inicios rápidos del sistema, especialmente en una computadora de escritorio de uso diario. 24 segundos es un tiempo de inicio bastante lento y pude reducirlo a9 segundos.

Te mostraré algunos consejos, sin necesidad de tocar tu núcleo.

/etc/rc.conf

Comencemos con el archivo de configuración de OpenRC. Hay una opción llamada rc_parallel. De forma predeterminada, los servicios se inician uno por uno y cuando algún servicio tarda más, retrasa otros. La configuración rc_parallel="YES"permite que el sistema RC intente iniciar servicios en paralelo para mejorar ligeramente la velocidad. En mi caso, fueron -5 segundos.

A también tuvo que configurar rc_send_sighup="YES", rc_timeout_stopsec="10", rc_send_sigkill="YES"porque el servicio xdmno quería pararmientras apaga el sistema.

servicio rc, actualización rc

Otra cosa importante es saber qué servicios se están iniciando realmente. Ese es el resultado que ve durante el inicio. Si quieresregistrar esta salida, establecido rc_logger="YES"en /etc/rc.confel archivo. Puede encontrar aquí horas exactas, mensajes de advertencia o errores.

Los servicios se dividen en los llamadosniveles de ejecución, que significa el período en el que se inician estos servicios. Hay dos niveles de ejecución involucrados en el inicio del sistema. booty default.

Puede enumerar todos los servicios y sus niveles de ejecución con el comando: rc-update show.
O puede enumerar todos los servicios en ejecución y detenidos con:rc-status --servicelist

En mi caso, encontré algunos servicios innecesarios que pude desactivar de forma segura. Por ejemplo bluetooth, netmounto net.enp0s31f6servicio para configurar mi interfaz de red. Se habilitó aunque uso NetworkManagerel servicio. No necesitaba estos servicios y obtuve otros 10 segundos al desactivarlos.

Puede deshabilitar el servicio en un nivel de ejecución específico con el comando: rc-update del <service> <runlevel>.

Siemprecomprobar qué hace un servicio en particular, antes de desactivarlo. Podría terminar con un sistema roto.


Espero que esto pueda ayudar a alguien y ahorrarme un poco de tiempo que tuve que dedicar.

Respuesta2

Intente instalar app-shells/dashel paquete y luego haga que el /bin/shenlace simbólico apunte a dash. Esto último se puede hacer manualmente o con el eselect shsubcomando.

La primera distribución que hizo esto de forma predeterminada fue Ubuntu hace más de 10 años (IIRC) y marcó una diferencia mayor que intentar ejecutar el script de inicio en paralelo, como recomienda la otra respuesta.

información relacionada