Quali sono i servizi dev-loop avviati all'avvio?


12

Dopo l'avvio ho corso systemd-analyze blamee qui sono i risultati:

     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

Quali sono questi servizi dev-loopxx.device( xxindica numeri) e perché impiegano così tanto tempo? Sono collegati al montaggio di snap? Posso ridurre il tempo di avvio disabilitandoli? Sto eseguendo Ubuntu 18.04 insieme a Windows 10.


Il mio impiega 14ms al massimo. Inoltre, ne ho solo 5.
Jos

@Jos Questo significa che ci sono alcuni errori nel mio sistema?
Apoorv Potnis,

No, ciò non significa che ci siano errori. Significa che hai più software installato dai container. Ogni dispositivo loop è un'installazione rapida.
Rinzwind,

@Rinzwind Quindi se avessi disinstallato quegli snap e installato le versioni non snap di quelle app, il mio avvio sarebbe più veloce?
Apoorv Potnis,

1
Sì, rimuoverà un ciclo per installazione (e anche le vecchie revisioni se presenti).
Rinzwind,

Risposte:


17

È possibile determinare l'elenco di tutti gli snap installati con snap list, per la relazione tra il monte-point e far scattare il nome si può usare systemctl status, mounte losetup.

Ad esempio sul mio Ubuntu MATE 18.04 LTS ho installato i seguenti snap:

$ 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

Creano dispositivi loop come segue:

$ 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

I punti di mount sono i seguenti:

$ 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)

Guardiamo più da vicino 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 cartella /sys/devices/virtual/block/loop4contiene file molto utili loop/backing_file, possiamo leggere il suo contenuto:

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

Quindi abbiamo appena determinato che /dev/loop4è stato creato da coresnap.


Ma il modo più semplice è usare losetup(vedi 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

Spero che questo aiuti a capire meglio i punti di mount di Snap.

In conclusione : usando Snaps per avere un software aggiornato, finiamo per pagarlo con un traffico di rete più elevato, un maggiore utilizzo del disco e tempi di avvio più lenti. Se non si desidera utilizzare affatto gli Snap, rimuoverli con sudo apt-get purge snapd.


Ormai lo snap è migliorato molto, quindi potrebbe non esserci un tale malus per nessuno
rubo77
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.