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 内核的网络链路状态监控机制,通常无需手动干预。若遇到网络接口频繁断开或异常日志,需优先排查硬件或驱动问题。