창문과 함께 노트북에 Ubuntu 16.04가 설치되어 있습니다. 에서 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
답변
/dev/sda7
루트 파티션이 마운트되어 있기 때문에 비활성화 할 수 없습니다 . 시스템에서는 부팅하는 동안 처리 할 수있는 모든 것이 시스템 단위로 만들어집니다. 그런 다음 트랙 타이밍과 같은 작업을 수행하거나 서비스에 따라 작업을 수행 할 수 있습니다. 장치의 경우 체인은 다음과 같습니다.
- 커널은 장치를로드하고 활성화합니다
- 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
예를 들어, 제 경우에는 네트워크 시작 속도가 느려집니다.