systemd-analyze 中的 dev-sda.device 是什么,我可以禁用它吗?

systemd-analyze 中的 dev-sda.device 是什么,我可以禁用它吗?

我的笔记本电脑上安装了 Ubuntu 16.04,同时还安装了 Windows。systemd-analyze blame名为“dev-sda7.device”的服务耗时太长。如何解决这个问题,或者我应该禁用它吗?

的结果systemd-analyze time

Startup finished in 4.207s (firmware) + 4.576s (loader) + 3.466s (kernel) + 33.899s (userspace) = 46.149s

的结果 systemd-analyze blame

         16.326s dev-sda7.device
         12.859s ufw.service
         11.263s systemd-tmpfiles-setup-dev.service
          7.935s NetworkManager-wait-online.service
          3.203s keyboard-setup.service
          2.736s vboxdrv.service
          2.467s accounts-daemon.service
          2.349s apache2.service
          2.239s NetworkManager.service
          2.163s ModemManager.service
          1.963s lightdm.service
          1.843s nmbd.service
          1.749s samba-ad-dc.service
          1.599s systemd-fsck@dev-disk-by\x2duuid-B053\x2dA56B.service
          1.367s thermald.service
          1.127s polkitd.service
          1.112s systemd-journald.service
          1.066s teamviewerd.service
          1.007s udisks2.service
           975ms apparmor.service
           926ms plymouth-start.service

的结果cat /etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda7 during installation
UUID=493cc833-193e-435d-840a-b862ca367fba /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda2 during installation
UUID=B053-A56B  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/sda6 during installation
UUID=a49f56b1-53c3-4eaf-9460-0a221e59957a none            swap    sw              0       0

答案1

您无法禁用它,因为/dev/sda7这是挂载根分区的地方。在 systemd 中,它在启动时可以处理的所有内容都被放入 systemd 单元中。然后您可以使用它来执行操作(例如,在这种情况下跟踪计时,或依靠它来提供服务)。在设备的情况下,链条如下:

  • 内核加载设备并激活它
  • systemd 监视此情况并/dev/sdxy为其创建节点
  • 然后 systemd 激活从生成的各种挂载单元fstab
  • 然后触发等待文件系统挂载的其他各种服务
  • 等等

这确实可以让您识别出磁盘激活速度很慢,但除非您可以获得新磁盘,否则您对此无能为力。

您可以尝试分析关键路径,看看是否还有其他可以修复的问题:

systemd-analyze critical-chain [UNIT...]  prints a tree of the
time-critical chain of units (for each of the specified UNITs or for
the default target otherwise). The time after the unit is active or
started is printed after the "@" character. The time the unit takes to
start is printed after the "+" character. Note that the output might be
misleading as the initialization of one service might depend on socket
activation and because of the parallel execution of units.

例子:

graphical.target @10.868s
└─multi-user.target @10.868s
  └─squid-deb-proxy.service @10.816s +51ms
    └─network-online.target @10.814s
      └─NetworkManager-wait-online.service @2.419s +8.395s
        └─NetworkManager.service @2.243s +155ms
          └─dbus.service @2.192s
            └─basic.target @2.129s
              └─sockets.target @2.129s
                └─snapd.socket @2.127s +1ms
                  └─sysinit.target @2.127s
                    └─swap.target @2.127s
                      └─dev-disk-by\x2duuid-498d24e5\x2d7755\x2d422f\x2dbe45\x2d1b78d50b44e8.swap @2.119s +7ms
                        └─dev-disk-by\x2duuid-498d24e5\x2d7755\x2d422f\x2dbe45\x2d1b78d50b44e8.device @2.119s

例如,就我的情况而言,网络启动速度很慢。

相关内容