Các dịch vụ dev-loop đã bắt đầu khởi động là gì?


12

Sau khi khởi động tôi đã chạy systemd-analyze blamevà đây là kết quả:

     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

Các dịch vụ này dev-loopxx.device( xxbiểu thị số) là gì và tại sao chúng lại mất quá nhiều thời gian? Chúng có liên quan đến việc gắn snaps không? Tôi có thể giảm thời gian khởi động bằng cách vô hiệu hóa chúng không? Tôi đang chạy Ubuntu 18.04 cùng với Windows 10.


Của tôi mất nhiều nhất 14ms. Ngoài ra, tôi chỉ có 5 người trong số họ.
Jos

@Jos Điều này có nghĩa là có một số lỗi trong hệ thống của tôi?
Apoorv Potni

Không, điều đó không có nghĩa là có lỗi. Nó có nghĩa là bạn đã cài đặt thêm phần mềm từ container. Mỗi thiết bị vòng lặp là một cài đặt snap.
Rinzwind

@Rinzwind Sau đó, nếu tôi gỡ cài đặt các snaps đó và cài đặt các phiên bản không snap của các ứng dụng đó, liệu khởi động của tôi có nhanh hơn không?
Apoorv Potni

1
Có, nó sẽ loại bỏ một vòng lặp cho mỗi lần cài đặt (và cả các bản sửa đổi cũ nếu có).
Rinzwind

Câu trả lời:


17

Bạn có thể xác định danh sách của tất cả các snaps cài đặt với snap list, đối với mối quan hệ giữa mount-điểm và chụp tên bạn có thể sử dụng systemctl status, mountlosetup.

Ví dụ: trên Ubuntu MATE 18.04 LTS của tôi, tôi đã cài đặt các snaps sau:

$ 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

Họ tạo ra các thiết bị lặp như sau:

$ 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ểm gắn kết như sau:

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

Hãy nhìn gần hơn vào 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

Thư mục /sys/devices/virtual/block/loop4chứa tệp rất hữu ích loop/backing_file, chúng ta có thể đọc nội dung của nó:

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

Vì vậy, chúng tôi chỉ xác định rằng /dev/loop4được tạo ra bởi coresnap.


Nhưng cách dễ nhất là sử dụng losetup(xem 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

Hy vọng điều này sẽ giúp hiểu Snaps mount-points tốt hơn.

Điểm mấu chốt: bằng cách sử dụng Snaps để có phần mềm cập nhật, cuối cùng chúng tôi sẽ trả tiền cho nó với lưu lượng mạng cao hơn, sử dụng nhiều đĩa hơn và thời gian khởi động chậm hơn. Nếu bạn không muốn sử dụng Snaps, hãy xóa chúng bằng sudo apt-get purge snapd.


Đến bây giờ snap đã cải thiện rất nhiều, vì vậy có thể không có ai có thời gian khởi động như vậy
rubo77
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.