linkwatch
是 Linux 内核中的一个机制(而非用户空间的独立进程),主要用于监控网络接口(NIC)的链路状态变化(如网线插拔、物理连接断开等)。以下是详细说明:
linkwatch
负责检测网络接口的物理层状态(如 UP/DOWN
),并在状态变化时触发相关事件(例如更新内核路由表、通知用户空间工具)。kthread
)形式运行,通常名为 linkwatch
或 linkwatch/<NIC>
,可通过 ps -aux | grep linkwatch
查看。进程查看:
ps aux | grep linkwatch
输出可能类似:
root 42 0.0 0.0 0 0 ? S Aug01 0:00 [linkwatch]
(注意:方括号 []
表示内核线程,非用户进程。)
日志记录:链路状态变化会记录到系统日志(/var/log/syslog
或 dmesg
),例如:
eth0: link down
eth0: link up, 1000 Mbps, full duplex
手动检查链路状态:
ip link show eth0 # 查看接口状态(UP/DOWN)
ethtool eth0 # 检查物理层信息(如 Speed/Duplex)
监控事件:
dmesg -w # 实时查看内核事件
journalctl -f # 跟踪系统日志
内核参数(高级):
/proc/sys/net/ipv4/conf/<interface>/promote_secondaries
等文件调整链路失效时的行为。高CPU占用:正常情况下 linkwatch
几乎不占用资源。若出现异常:
perf
或 strace
跟踪内核线程(需高级调试技能)。频繁链路抖动:
ethtool --identify eth0 5 # 让网卡LED闪烁,辅助定位物理接口
mii-tool -v eth0 # 检查协商状态(旧版工具)
当链路变化时,linkwatch
会通知以下工具:
- NetworkManager:更新桌面网络状态。
- systemd-networkd:触发重新配置网络。
- ifupdown:执行 /etc/network/interfaces
中的脚本。
linkwatch
是 Linux 内核的网络链路状态监控机制,通常无需手动干预。若遇到网络接口频繁断开或异常日志,需优先排查硬件或驱动问题。