¿Cómo mejoro la velocidad de arranque?


67

He visto muchos videos que hacen que Ubuntu sea más rápido, pero estos métodos solo hacen que el rendimiento del escritorio sea más rápido.

Estoy buscando hacer que mi computadora arranque más rápido. ¿Hay algo que pueda hacer para que Ubuntu arranque mucho más rápido?


55
Los sistemas que usan systemd(desde 15.04 IIRC) vienen con la herramienta systemd-analyzeque puede ayudarlo a analizar qué proceso tarda en arrancar. Vea man systemd-analyzepara conocer todas sus opciones, systemd-analyze blamesin embargo, es la que probablemente usará más .
Byte Commander

@ByteCommander Una respuesta paso a paso hará el trabajo.
Anwar

Respuestas:


28

En general, cuantos menos programas tenga que cargar en el arranque, más rápido debería ser su sistema. Pruebe BUM (del centro de software) para deshabilitar algunos servicios innecesarios, y también asegúrese de que no tenga instalado ningún programa innecesario que se cargará al arrancar. Finalmente, el uso de una unidad de estado sólido (SSD) como dispositivo de arranque debería mejorar significativamente el tiempo de arranque.

Una cosa más, su tipo de sistema de archivos también hace la diferencia. EXT4 ha sufrido algunas regresiones de rendimiento (de acuerdo con phoronix) pero todavía he encontrado que EXT4 es excelente para arrancar rápido.


¿podría agregar qué servicio podría deshabilitarse y que normalmente no es útil?
Philippe Gachoud

@PhilippeGachoud Realmente no puedo recordar ahora. ¡Esto es de 2010!
RolandiXor

Estoy usando un SSD compatible con versiones anteriores y mi placa es SATA. Arranca locamente rápido.
userDepth

17

Me encontré con esto el otro día. Sus instrucciones "e4rat" aquí

Esta pequeña aplicación es asombrosa.

Tomé un semprón AMD de procesador único cansado que funciona a 2800+ que normalmente arranca Natty en 1.45 minutos a 27.885 segundos.

Tengo los gráficos de arranque para demostrarlo. ¡Es una locura! ingrese la descripción de la imagen aquí


1
¡Esto realmente ayuda!
user12164

Más personas necesitan saber sobre e4rat, es una herramienta fantástica que hizo la mayor mejora de muchos consejos y trucos diferentes.
Victor Bjelkholm

3
¿Sigue siendo legítimo para 12.04? Escuché que causaría problemas con la ureadahead. ¿Es esto cierto?
user138784

@ user138784, según tengo entendido, esto se debe a que ureadahead funciona igual que el e4rat, por lo que obviamente son conflictos. Pero e4rat por alguna razón parece ser mejor que la ureadahead. Además, quizás sería útil: el e4rat por alguna razón no funciona de manera predeterminada, necesita algunos ajustes , de lo contrario, el archivo de registro no se crea.
Hola Ángel, el

e4rat no funcionó en 16.04
Anwar

17

Mejorar el tiempo de arranque está muy relacionado con la desactivación / gestión del servicio, pero las respuestas actuales carecen de detalles para desactivar los servicios que utiliza systemd.

¿Qué es systemd?

En resumen, systemd es un administrador de sistemas y servicios para Linux, compatible con los scripts de inicio SysV y LSB. Puede leer más sobre esto en la página oficial del proyecto .

Comprueba qué servicios lleva más tiempo

Use el siguiente comando para verificar qué servicio lleva la mayor parte del tiempo

systemd-analyze blame

Deshabilitar el inicio automático de servicios durante el arranque

Si desea deshabilitar el inicio automático de los servicios durante el arranque, puede usar el siguiente comando

sudo systemctl disable some-time-eater-service.service --now

Sin embargo, es posible que desee ver qué otros servicios necesitan el servicio en cuestión. Para verificar use el siguiente comando

systemctl list-dependencies some-time-eater-service.service --reverse

Nota: Reemplace some-time-eater-service.servicecon el nombre real del servicio como postgresql@9.5-main.service.

Tenga en cuenta que deshabilitar el inicio automático no hace que un servicio no sea iniciable. El servicio se puede iniciar después del arranque cuando surja el requisito. Si desea deshabilitarlo por completo, lea la siguiente sección

Desactivar los servicios por completo.

Si desea deshabilitar por completo un servicio para que no se pueda iniciar, debe usarlo en masklugar de deshabilitarlo. Me gusta esto

sudo systemctl mask <SERVICE-NAME>

Reemplace el <SERVICE-NAME>con el nombre real de un servicio

La diferencia entre masky disablees la máscara hace que un servicio se deshabilite por completo, no puede iniciarlo. Debe unmaskcomenzar con systemd (aún puede comenzar con service). Pero disablesimplemente deshabilite el inicio automático de un servicio, puede iniciarlo más tarde.

Por ejemplo, después de enmascarar mi postgresql@9.5-main.serviceservicio, cuando quería iniciarlo con systemctlel siguiente mensaje se muestra

Failed to start postgresql@9.5-main.service: Unit postgresql@9.5-main.service is masked.

Herramienta GUI

Una herramienta GUI que me parece particularmente interesante es systemd-managerque todavía está en etapa de desarrollo y no se ha hecho su camino hacia el repositorio oficial de Ubuntu. Sin embargo, puede instalarlo muy fácilmente desde la página github de Systemd-Manager . Las versiones contienen un paquete .deb, que es muy fácil de instalar. Sin embargo, necesita GTK-3.16 o superior.

Una vez que descargue e instale, puede iniciarlo con el systemd-managercomando. Iniciarlo.

La aplicación tiene dos vistas principales. Una es Unidades de Systemd y la otra es Análisis de Systemd . Puede cambiarlo con la etiqueta en la esquina superior izquierda. Mira la captura de pantalla.

Swithch entre vistas

Y hay tres tipos de unidades que puede administrar. Servcies , zócalos y temporizadores . Puedes cambiar entre ellos. Mira la captura de pantalla.

Cambiar entre tipos de unidades

Mostrar información

Las tres pestañas principales son Archivos , Diario , Dependencias .

  • Archivos es el archivo de configuración de la unidad seleccionada.
  • El diario es la salida del sistema en vivo mientras se habilitan / deshabilitan / inician / detienen unidades
  • Las dependencias muestran qué otros servicios o unidades deben estar habilitados para iniciar un servicio seleccionado.

Indicadores de estado

Hay dos columnas al lado del nombre de las unidades para indicar el estado. El izquierdo indica si esa unidad está habilitada para iniciarse en el arranque y el derecho indica si esa unidad se está ejecutando actualmente. Véalos en la imagen.

Habilitado en el estado de arranque

Estado de ejecución actual

Interruptores de control

Para activar el estado de inicio o inicio de toogle, hay dos botones de toogle en la esquina superior derecha. Habilitado significa que las unidades se iniciarán y arrancarán. Véalos en la imagen.

Toogle cambia para habilitar / iniciar

La vista completa de la aplicación se muestra a continuación.

Vista completa

Espero que esto ayude. Me beneficié de otras respuestas sobre systemd, pero realmente necesitaba reunir la información en un solo lugar.

Más información :

Para saber más sobre systemdusted puede visitar estos enlaces:

Otras respuestas tienen diferentes sugerencias. Incluyendo la compra de SSD, el aumento de RAM, etc. Si puede pagarlos, definitivamente ayudarán, particularmente la sugerencia de SSD.


15

Cambie de una unidad magnética a una unidad de estado sólido, o una unidad híbrida de estado sólido y magnética. Eso hará que cualquier sistema operativo arranque mucho más rápido. Las unidades híbridas no son mucho más caras. Si no quiere llegar tan lejos, simplemente obtenga un disco duro de 7200 o 10K RPM.


66
La velocidad del disco es el actual cuello de botella de arranque.
scottl

@scottl dado que mis discos son SATA y mi tiempo de arranque es similar al 1:45 min informado por @RobinJ, dudo que haya alguna razón para señalar el rendimiento del disco en particular. Sin embargo, lo que sí veo es que el montaje de discos y recursos compartidos se realiza de forma síncrona, a pesar de que 1.) usa fastbooty 2.) esos discos no son importantes para el proceso de arranque.
0xC0000022L

13

¿Asumo que estás hablando de Ubuntu 11.04?
He estado intentando esto durante bastante tiempo, sin mucho éxito. De todos modos, estos pasos hicieron una diferencia de unos segundos:

1. Eliminar paquetes innecesarios

apt-get purge brltty brltty-x11 foo2zjs min12xxw ttf-indic-fonts-core ttf-kacst-one ttf-khmeros-core ttf-lao ttf-punjabi-fonts ttf-unfonts-core

2. Uso de ambos núcleos / CPU durante el proceso de arranque

¡SOLO HAGA ESTO SI ESTÁ SEGURO DE QUE SU COMPUTADORA TIENE MÚLTIPLES CPU / NÚCLEOS!
Abrir /etc/init.d/rc(necesitará privilegios de root) y reemplazar CONCURRENCY=nonepor CONCURRENCY=shell. Luego guarda el archivo.

Actualizar

"CONCURRENCY = shell ahora está obsoleto y tiene el alias de 'makefile'. Desde 2010-05-14 el valor predeterminado ha sido 'makefile'".    ~ Jonathon

3. Deshabilitar demonios innecesarios

Esto es un poco más avanzado, así que es mejor no hacerlo si no sabe lo que esto significa. Instalar bume iniciarlo con privilegios de root. Luego, desmarca las casillas frente a los demonios que estás seguro de que no necesitas. Por ejemplo, cuando no tiene un escáner, puede deshabilitarlo saned. Y si nunca usa bluetooth, también puede deshabilitarlo bluetooth.
Cuando haya terminado, presione el botón Aplicar y haga clic en o no (no importa mucho).

Después de completar estos pasos, reinicie dos veces . Por alguna razón, el primer reinicio después de cambiar todas estas opciones tarda mucho más que las otras, pero debe notar alguna diferencia durante el segundo reinicio.


3
CONCURRENCY = shell ahora está obsoleto y tiene un alias para 'makefile'. Desde 2010-05-14, el valor predeterminado ha sido 'makefile'.
Jonathon

¿Es posible enumerar (o dar una breve explicación) qué paquetes aconseja eliminar? (primer punto en su explicación). Siempre tenga en cuenta que hay personas que simplemente copian y pegan y que de repente no pueden leer desde la terminal, etc.
Willem Van Onsem

1
@CommuSoft Como esta respuesta es sobre Ubuntu 11.04 de todos modos, no sería aconsejable aplicar la misma respuesta a versiones más recientes. Algunas de estas cosas ya no funcionarán, y otras cosas pueden dañar el sistema.
RobinJ

9

Utilice bootchart para producir gráficos detallados de lo que lleva tiempo durante el arranque. Podría ayudar a decidir qué ajustar o eliminar. Desde https://wiki.ubuntu.com/BootCharting :

  • Instale los paquetes bootchart y pybootchartgui , ya sea a través de apt-get o Synaptic
  • Reinicia tu máquina
  • El diagrama de arranque está en / var / log / bootchart como un archivo .png

El equivalente moderno está cubierto aquí askubuntu.com/a/763070/178596
Wilf


3

Mi máquina se inició mucho más rápido si hice una instalación alternativa y agregué los paquetes GUI manualmente. Por supuesto, simplemente elimina cosas que no necesito y que soy capaz de agregarme. Si va a volver con "cómo compilo / instalo aplicaciones X, Y y Z", esta podría no ser una buena idea.


3

Para cualquier otra persona que tenga dificultades con esto, simplemente instale BUM e inícielo como usuario root (tenga cuidado de usar gksudo en lugar de sudo normal). Luego, desmarque el servicio que desea deshabilitar (deshabilité Apache2, PostGreSQL daemon, MySQL, virtual box, etc.) y ¡listo! Puede eliminar el servicio por completo si no lo desea, pero deshabilitarlo es más que suficiente.

sudo apt-get install bum

ingrese la descripción de la imagen aquí



2

Editar 10.25.2016: Si no va a utilizar la hibernación porque no se puede suspender o si prefiere / S3 entonces usted puede desactivar en Grub añadiendo noresumea GRUB_CMDLINE_LINUX_DEFAULTen /etc/default/gruby correr update-grub. Aquí hay un ejemplo en un Chromebook N22 con GalliumOS:

livewire@zc01:~$ systemd-analyze
Startup finished in 8.580s (kernel) + 4.160s (userspace) = 12.740s

livewire@zc01:~$ systemd-analyze
Startup finished in 3.595s (kernel) + 4.254s (userspace) = 7.850s

Encontré esto porque tenía curiosidad acerca de la parte "Ejecución de scripts locales antes del montaje" durante el arranque e investigué un poco en initramfs, lo que me llevó a esta opción que antes solo usaba cuando mi sistema no podía despertar de la hibernación.


Editar 06.08.2016: debe actualizar a una versión reciente de su distribución de Linux que viene con systemd.


Ingredientes:

  • Obtenga un sistema UEFI con código UEFI libre de hinchazón o Coreboot
  • Obtén un SSD
  • Instalar Ubuntu en modo UEFI
  • Bonificación: comprima initramfs con xz lzop y solo incluya los módulos necesarios. (Realmente deberías saber lo que estás haciendo antes de intentar hacerlo).
  • Bonificación: elimine demonios innecesarios o configúrelos para que se inicien más rápido. Aunque la instalación predeterminada ya es lo suficientemente buena.
    • Ejemplo: trabajo de inicio de btrfs que busca grupos para montar mientras no hay volúmenes de btrfs en este dispositivo. Esto me hizo eliminar btrfs-tools de algunas de mis instalaciones.

Tengo que decir que 32 segundos es bastante bueno. No será mucho más rápido con el hardware tradicional. Mi nuevo Lenovo T530 tarda la misma cantidad de tiempo en arrancar en modo heredado. Con el nuevo micro SSD que instalé recientemente y Ubuntu en modo UEFI, se ha reducido a 15 segundos desde presionar el botón de encendido para iniciar sesión. Todavía parece que está desperdiciando 5 segundos durante la publicación, pero no está desperdiciando tiempo en iniciar el sistema operativo real. El micro SSD tiene velocidades de transferencia de 280 MB / s, puede ser un SSD de 500 MB / s que puede llegar a 7 segundos. Pero realmente depende de los fabricantes reducir el tiempo de arranque previo al SO (POST y lo que no).

En cuanto al perfil de arranque y la concurrencia de shell. Esa información puede verse como anticuada o eventualmente mito. Recuerdo que la creación automática de perfiles de arranque o algo que hizo que la creación de perfiles de arranque fuera absolutamente superflua se agregó a Linux o al sistema central hace años, desde entonces ya no utilicé la creación de perfiles de arranque después de instalar un nuevo paquete de kernel. Se dijo que la configuración de concurrencia de shell rompe las cosas, pero con Systemd y Upstart también debería ser superflua y no debería tener un efecto positivo.


1

Garbagecollector tiene razón. Proceda con precaución. Pero algunos de los programas que puede deshabilitar de forma segura son utilidades de correo electrónico emergente como Evolution, especialmente si no está usando Evolution al principio. Además, todo lo relacionado con la impresión se puede desactivar si no imprime en absoluto. Lo mismo para la conexión inalámbrica si está conectado.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.