Які сервіси розробки циклу запускаються під час завантаження?


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

Вони створюють петлеві пристрої наступним чином:

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


На сьогоднішній день оснащення значно покращилося, тому може не бути такої
маніпуляції
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.