有一台服务器,每个月都会有一两次无法访问,只能通过重启解决。
几次之后,我终于忍不了了,要把问题找出来。
去阿里云后台查看监控,发现这台服务器的带宽居然每天都被打满了……
网上搜索了一下,centos 如何排查网络占用问题,最后找到一个命令
iftop -PB
执行后,可以看到每一个端口的网络进出流量情况
(备注:示例图是问题修复后截图,因此看不到当时有问题时的流量情况)
如上方示例如,在左侧可以看到服务器名称和端口号,中间可以看到IP信息,在右侧可以看到实时流量。
假设,现在你想看 11715 这个端口的情况,那么就需要用到第二个命令
lsof -i :11715
执行后可以看到端口被PID为28402的进程使用
那么,怎么看进程 28402 的详情呢,就需要用到第三个命令
ps aux | grep 28402
执行后,可以看到,进程是一个 php artisan 命令,定位到这里了,基本就知道问题所在了,根据实际情况去解决问题即可。