![매우 느린 시작(6분), `systemd-udevd` 시간 초과를 5초로 강제 변경하는 방법은 무엇입니까?](https://linux55.com/image/12865/%EB%A7%A4%EC%9A%B0%20%EB%8A%90%EB%A6%B0%20%EC%8B%9C%EC%9E%91(6%EB%B6%84)%2C%20%60systemd-udevd%60%20%EC%8B%9C%EA%B0%84%20%EC%B4%88%EA%B3%BC%EB%A5%BC%205%EC%B4%88%EB%A1%9C%20%EA%B0%95%EC%A0%9C%20%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
본질적으로 일어나는 일은 다음과 같습니다.
grub 명령 에 이것을 linux
추가 debug --verbose
하고 얻었습니다!
60초 동안 기다린 후:
systemd-udevd 'SomeDevicePartition' is taking a long time
120초 이상 경과 후:
systemd-udevd 'SomeDevicePartition' killed
+-: 60초, 180초, 240초, 365초에 발생하므로
총 6분입니다! ! !
udevd 종료 시간 초과를 10초로 낮추고 재시도하지 않을 수 있는지 궁금합니다. (grub 항목의 일부 구성 사용)
더 많은 정보가 필요한 경우 전체 질문의 세부정보는 여기에 있습니다(위 내용은 중요한 부분일 뿐입니다).https://askubuntu.com/questions/1196874/18-04-grub-takes-about-6- Minutes-to-boot-problem-systemd-udevd-somedevice
이 문제를 해결하기 위한 팁을 얻었습니다.
udevadm --timeout=10
하지만 실행 취소하려면 LiveCD iso 이미지를 사용해야 할 수도 있습니다.
udevadm
해당 구성은 어디에 저장됩니까?시도해 보았 cat ./udev/rules.d/* |grep timeout -i
으나 아무것도 발견하지 못했습니다...
또한 일반적인 이벤트에서도 작동하므로 보너스로 다음과 같습니다.파티션 감지를 처리하기 위해 특정 시간 초과를 구성할 수 있습니까?
grub cfg에는 다음과 같은 내용이 있습니다.
linux /vmlinuz-4.15.0-72-generic \
root=/dev/mapper/MyLvmGroupName ro \
nosplash $vt_handoff debug --verbose
알림으로https://unix.stackexchange.com/a/559979/30352(여기), 나는 다음을 시도했습니다:
linux /vmlinuz-4.15.0-72-generic \
root=/dev/mapper/MyLvmGroupName ro \
rd.udev.event-timeout=10 \
nosplash $vt_handoff debug --verbose
하지만 어떤 이유에서인지 무시되는 것 같습니다. :( 아직 시간 제한이 길기 때문에(동일, 아무것도 변경되지 않았습니다)
2019년 10월 12일부터 이 문제가 발생했습니다. // (마지막으로 Ubuntu18에서 전체 업데이트를 수행했을 때)
답변1
귀하의 시스템이 systemd의 udev를 사용하는 것 같습니다.
그럼 먼저 이 서비스 매뉴얼 페이지(systemd-udevd.service(8))를 살펴보겠습니다.
The behavior of the daemon can be configured using udev.conf(5), its command line options,
environment variables, and on the kernel command line, or changed dynamically with udevadm
control.
그리고 더 나아가:
KERNEL COMMAND LINE
Parameters starting with "rd." will be read when systemd-udevd is used in an initrd.
udev.log-priority=, rd.udev.log-priority=
Set the log level.
udev.children-max=, rd.udev.children-max=
Limit the number of events executed in parallel.
udev.exec-delay=, rd.udev.exec-delay=
Delay the execution of RUN instructions by the given number of seconds. This option might
be useful when debugging system crashes during coldplug caused by loading non-working
kernel modules.
udev.event-timeout=, rd.udev.event-timeout=
Wait for events to finish up to the given number of seconds. This option might be useful
if events are terminated due to kernel drivers taking too long to initialize.
net.ifnames=
Network interfaces are renamed to give them predictable names when possible. It is enabled
by default; specifying 0 disables it.
udev.event-timeout=10
따라서 커널 명령줄에 추가(문제가 initrd 단계에 있는 경우 동일한 접두사 추가)해 볼 수 있습니다 .rd.