在启动时启动了哪些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.devicexx表示数字)服务是什么?为什么要花费这么多时间?它们与卡扣的安装有关吗?我可以通过禁用启动时间来减少启动时间吗?我正在将Ubuntu 18.04与Windows 10一起运行。


矿山最多需要14毫秒的时间。另外,我只有5个。
乔斯(Jos)

@Jos这是否意味着我的系统中存在一些错误?
Apoorv Potnis

不,这并不意味着存在错误。这意味着您从容器中安装了更多软件。每个循环设备都是快速安装。
Rinzwind

@Rinzwind然后,如果我卸载了这些快照并安装了这些应用程序的非快照版本,则启动速度会更快吗?
Apoorv Potnis

1
是的,它将消除每次安装一个循环(如果有的话,也会删除旧版本)。
Rinzwind

Answers:


18

你能确定所有安装卡扣的列表snap list,用于挂载点之间的关系,并捕捉命名就可以使用systemctl statusmountlosetup

例如,在我的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是由coresnap 创建的。


但是最简单的方法是使用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来安装最新的软件,我们最终为它支付了更高的网络流量,更多的磁盘使用量和更慢的启动时间。如果您根本不想使用快照,请使用删除它们sudo apt-get purge snapd


到现在
为止
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.