公司的一台机器部署完程序后,发生丢包,能够想的办法都想了,但是还是有丢包。
想着打破沙锅问到底的精神,好吧,从内核日志上下手一点点分析,操作系统以及软硬件的一举一动都写入到了系统内核日志中。

如何查看系统日志呢?
https://linux.cn/article-3587-1.html

1.dmesg
dmesg’命令设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。

dmesg more less head tail
grep -i 忽略大小写
实时监控dmesg情况
tail -f /var/log/dmesg

2.查看/var/log/messages

3.问题得到解决
最后才发现是内存的ECC校验出错,和运维小伙伴沟通后,把内核日志中提示错问题的内存条替换掉了,绑定cpu核心中断,关闭abrt,关闭防火墙,关闭软件更新包,然后就不丢包了

补充:
ethtool -i 网卡名称
是可以查看到网卡对应的pci的。
途中,bus-info后面的就是pci地址
这里写图片描述

如何找到pci对应的numa socket node信息呢?
cat /sys/bus/pci/devices/0000:04:00.0/numa_node
0000:04:00.0是我自己网卡的pci地址,如果需要查询你的,需要更换成你自己的pci地址。

这次给自己的教训:
1.搞技术要有耐心和耐性,一点点寻找线索。
2.找到线索以后,要一步步排查问题,逐步缩小范围。
3.遇到问题,尝试解决问题。ok

Logo

更多推荐