แก้ปัญหา “Raise network interfaces”

By | 20/03/2020

ปัญหานี้ผมก็ไม่ทราบสาเหตุแน่ชัดเท่าไรครับ แต่มันทำให้เครื่อง 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

ใส่ความเห็น