ปัญหานี้ผมก็ไม่ทราบสาเหตุแน่ชัดเท่าไรครับ แต่มันทำให้เครื่อง boot ช้ามา เราสามารถทำการกำหนด Timeout ให้ Service Network ได้จากเดิมกำหนดไว้ 5 นาที การแก้ปัญหาเปลี่ยนเป็น 10 วินาที และ Network ก็ยังทำงานได้ปกติ
เช็คว่า Service ไหนทำการ Start นานที่สุด
root@server:/home/pi# systemd-analyze blame
15.189s rc-local.service
10.250s networking.service
6.802s hciuart.service
5.904s smbd.service
3.109s ifupdown-pre.service
1.938s dev-mmcblk0p2.device
1.679s raspi-config.service
1.073s udisks2.service
962ms nginx.service
850ms rpi-eeprom-update.service
630ms systemd-timesyncd.service
584ms dphys-swapfile.service
544ms systemd-fsck@dev-disk-by\x2dpartuuid-ea7d04d6\x2d01.service
492ms keyboard-setup.service
461ms systemd-udev-trigger.service
349ms systemd-journald.service
338ms lightdm.service
333ms wpa_supplicant.service
303ms avahi-daemon.service
296ms polkit.service
294ms gldriver-test.service
281ms ssh.service
275ms user@1000.service
265ms triggerhappy.service
วิธีปรับ Timeout Service Networking
vim /etc/systemd/system/network-online.target.wants/networking.service
[Unit]
Description=Raise network interfaces
Documentation=man:interfaces(5)
DefaultDependencies=no
Requires=ifupdown-pre.service
Wants=network.target
After=local-fs.target network-pre.target apparmor.service systemd-sysctl.service systemd-modules-load.service ifupdown-pre.service
Before=network.target shutdown.target network-online.target
Conflicts=shutdown.target
[Install]
WantedBy=multi-user.target
WantedBy=network-online.target
[Service]
Type=oneshot
EnvironmentFile=-/etc/default/networking
ExecStart=/sbin/ifup -a --read-environment
ExecStop=/sbin/ifdown -a --read-environment --exclude=lo
RemainAfterExit=true
TimeoutStartSec=5min
ทำการแก้ไข TimeoutStartSec=5min เป็น TimeoutStartSec=5sec แล้วสั่ง
sudo systemctl daemon-reload
sudo reboot