什么是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). # # # / 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
您无法禁用它,因为/dev/sda7
是挂载根分区的位置。 在systemd中,它在启动时可以处理的所有内容都被制成一个systemd单元。 然后你就可以用它来做事情(比如在这种情况下跟踪时间,或者依赖它来获取服务)。 在设备的情况下,链是这样的:
- 内核加载设备并激活它
- systemd
/dev/sdxy
它并为其创建/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
例如,在我的情况下,网络正在减慢启动速度。