首页/系统/Linux 内核与性能调优速查/net.ipv4.tcp_mtu_probing PMTU 黑洞探测
本包目录(357 条)
sysctl 内核参数72 条
CPU 与调度60 条内存与 OOM58 条磁盘与 IO32 条网络栈调优98 条性能分析工具37 条

net.ipv4.tcp_mtu_probing PMTU 黑洞探测

当路径出现 ICMP 被拦截的 PMTU 黑洞时,内核可主动二分探测路径 MTU;0 关闭、1 检测到黑洞后启用、2 始终启用。

参数net.ipv4.tcp_mtu_probing
取值0 关闭(默认)/ 1 遇黑洞启用 / 2 始终探测
探针间隔net.ipv4.tcp_probe_interval(秒)

确认路径 MTU

确认路径 MTU
ping -M do -s 1472 -c 2 10.0.0.1   # 1472+28=1500
sysctl -w net.ipv4.tcp_mtu_probing=1
dmesg | grep -i mtu
VPN、GRE 隧道、部分云网络常拦截 ICMP 导致大包被静默丢弃,此参数是常见缓解手段。

易错点

  • 先复现问题再启用:小包正常大包超时、连接能建立但传输卡死是典型症状
  • 探测有代价:始终启用(2)会增加额外探测开销,通常用 1 即可

数据来源与参考

  • Linux 内核 Documentation/networking/ip-sysctl.rst
  • RFC 4821(Packetization Layer PMTU Discovery)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌