Какие службы dev-loop запущены при загрузке?

13

После загрузки я запустился systemd-analyze blameи вот результаты:

     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

Что это за услуги dev-loopxx.device( xxобозначает номера) и почему они занимают так много времени? Они связаны с монтажом защелок? Можно ли сократить время загрузки, отключив их? Я использую Ubuntu 18.04 вместе с Windows 10.

Апурв Потнис
источник
Мой максимум 14 мс. Кроме того, у меня есть только 5 из них.
Йос
@Jos Означает ли это, что в моей системе есть ошибки?
Апурв Потнис
Нет, это не значит, что есть ошибки как таковые. Это означает, что вы получили больше программного обеспечения из контейнеров. Каждое петлевое устройство легко устанавливается.
Rinzwind
@Rinzwind Тогда, если я удалил эти снимки и установил версии этих приложений, не относящиеся к моментальным снимкам, моя загрузка станет быстрее?
Апурв Потнис
1
Да, он удалит один цикл на установку (а также старые версии, если они есть).
Rinzwind

Ответы:

18

Вы можете определить список всех установленных моментальных снимков snap list, для связи между точкой монтирования и именем моментального снимка, который вы можете использовать systemctl status, mountи losetup.

Например, на моем Ubuntu MATE 18.04 LTS у меня установлены следующие снимки:

$ 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

Они создают loop-устройства следующим образом:

$ 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

Точки монтирования следующие:

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

Давайте посмотрим ближе на 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

Папка /sys/devices/virtual/block/loop4содержит очень полезный файл loop/backing_file, мы можем прочитать его содержимое:

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

Таким образом, мы просто определили, что /dev/loop4создается coreоснасткой.


Но самый простой способ - использовать losetup(см. 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

Надеюсь, это поможет лучше понять точки монтирования Snaps.

Итог: используя Snaps для обновления программного обеспечения, мы в конечном итоге платим за него более высоким сетевым трафиком, большим использованием диска и более медленным временем загрузки. Если вы вообще не хотите использовать Snaps, удалите их с помощью sudo apt-get purge snapd.

N0rbert
источник
К настоящему моменту оснастка значительно улучшилась, так что, возможно, у кого-нибудь не будет такого времени загрузки
rubo77