从一台服务器时不时无法访问说起

127 阅读1分钟

有一台服务器,每个月都会有一两次无法访问,只能通过重启解决。

几次之后,我终于忍不了了,要把问题找出来。

去阿里云后台查看监控,发现这台服务器的带宽居然每天都被打满了……

网上搜索了一下,centos 如何排查网络占用问题,最后找到一个命令

iftop -PB

执行后,可以看到每一个端口的网络进出流量情况

image.png (备注:示例图是问题修复后截图,因此看不到当时有问题时的流量情况)

如上方示例如,在左侧可以看到服务器名称和端口号,中间可以看到IP信息,在右侧可以看到实时流量。

假设,现在你想看 11715 这个端口的情况,那么就需要用到第二个命令

lsof -i :11715

image.png

执行后可以看到端口被PID为28402的进程使用

那么,怎么看进程 28402 的详情呢,就需要用到第三个命令

ps aux | grep 28402

image.png

执行后,可以看到,进程是一个 php artisan 命令,定位到这里了,基本就知道问题所在了,根据实际情况去解决问题即可。