¿Cuáles son los servicios dev-loop que comenzaron en el arranque?

12

Después de arrancar, corrí systemd-analyze blamey aquí están los resultados:

     21.596s systemd-journal-flush.service
     18.658s dev-sda8.device
     15.099s dev-loop33.device
     15.034s dev-loop19.device
     15.012s dev-loop34.device
     14.989s dev-loop21.device
     14.877s dev-loop15.device
     14.866s dev-loop26.device
     14.773s dev-loop27.device
     14.684s dev-loop30.device
     14.677s dev-loop32.device
     14.649s dev-loop35.device
     14.590s dev-loop25.device
     14.267s dev-loop23.device
     14.192s dev-loop24.device
     14.156s dev-loop29.device
     14.133s dev-loop16.device
     14.065s dev-loop31.device
     14.059s dev-loop28.device
     13.821s dev-loop20.device
     13.531s dev-loop22.device
     13.495s dev-loop14.device
     13.364s dev-loop18.device

¿Qué son estos servicios dev-loopxx.device( xxdenota números) y por qué están tomando tanto tiempo? ¿Están relacionados con el montaje de snaps? ¿Puedo reducir el tiempo de arranque deshabilitándolos? Estoy ejecutando Ubuntu 18.04 junto con Windows 10.

Apoorv Potnis
fuente
La mía tarda 14 ms como máximo. Además, solo tengo 5 de ellos.
Jos
@Jos ¿Significa esto que hay algunos errores en mi sistema?
Apoorv Potnis
No, no significa que hay errores de perse. Significa que tienes más software instalado desde los contenedores. Cada dispositivo de bucle es una instalación rápida.
Rinzwind
@Rinzwind Entonces, si desinstalé esas instantáneas e instalé las versiones sin complemento de esas aplicaciones, ¿mi arranque se acelerará?
Apoorv Potnis
1
Sí, eliminará un bucle por instalación (y también revisiones antiguas si las hay).
Rinzwind

Respuestas:

17

Puede determinar la lista de todos los snaps instalados con snap list, para la relación entre el punto de montaje y el nombre del snap que puede usar systemctl status, mounty losetup.

Por ejemplo, en mi Ubuntu MATE 18.04 LTS tengo instaladas las siguientes instantáneas:

$ snap list
Name                 Version           Rev   Tracking  Developer      Notes
core                 16-2.33.1         4917  stable    canonical      core
software-boutique    18.04.0-5b99b84   31    stable/…  flexiondotorg  classic
ubuntu-mate-welcome  17.10.23-e4f4c4c  169   stable/…  flexiondotorg  classic

Crean dispositivos de bucle de la siguiente manera:

$ systemd-analyze blame | grep dev-loop
          4.303s dev-loop4.device
          4.267s dev-loop2.device
          4.193s dev-loop0.device
          4.146s dev-loop3.device
           111ms dev-loop5.device

Los puntos de montaje son los siguientes:

$ mount | grep snapd
/var/lib/snapd/snaps/core_4830.snap on /snap/core/4830 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/ubuntu-mate-welcome_169.snap on /snap/ubuntu-mate-welcome/169 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/software-boutique_31.snap on /snap/software-boutique/31 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/core_4650.snap on /snap/core/4650 type squashfs (ro,nodev,relatime,x-gdu.hide)
/var/lib/snapd/snaps/core_4917.snap on /snap/core/4917 type squashfs (ro,nodev,relatime,x-gdu.hide)

Veamos más de cerca a dev-loop4.device:

$ systemctl status dev-loop4.device
● dev-loop4.device - /dev/loop4
   Follow: unit currently follows state of sys-devices-virtual-block-loop4.device
   Loaded: loaded
   Active: active (plugged) since Tue 2018-07-17 13:05:41 MSK; 4min 44s ago
   Device: /sys/devices/virtual/block/loop4

La carpeta /sys/devices/virtual/block/loop4contiene un archivo muy útil loop/backing_file, podemos leer su contenido:

$ cat /sys/devices/virtual/block/loop4/loop/backing_file 
/var/lib/snapd/snaps/core_4650.snap

Entonces determinamos que /dev/loop4es creado por coresnap.


Pero la forma más fácil es usar losetup(ver man losetup):

$ losetup 
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE                                         DIO LOG-SEC
/dev/loop4         0      0         1  1 /var/lib/snapd/snaps/core_4650.snap                 0     512
/dev/loop2         0      0         1  1 /var/lib/snapd/snaps/ubuntu-mate-welcome_169.snap   0     512
/dev/loop0         0      0         1  1 /var/lib/snapd/snaps/core_4830.snap                 0     512
/dev/loop5         0      0         1  1 /var/lib/snapd/snaps/core_4917.snap                 0     512
/dev/loop3         0      0         1  1 /var/lib/snapd/snaps/software-boutique_31.snap      0     512

Espero que esto ayude a comprender mejor los puntos de montaje de Snaps.

En pocas palabras: al usar Snaps para tener un software actualizado, terminamos pagando por él con un mayor tráfico de red, más uso de disco y un tiempo de arranque más lento. Si no desea utilizar Snaps, elimínelos con sudo apt-get purge snapd.

N0rbert
fuente
En este momento, Snap mejoró mucho, por lo que podría no haber tal tiempo de arranque malus para nadie
rubo77