当前位置: 首页 > 科技观察

服务器内存占用飙升故障排查

时间:2023-03-17 16:41:15 科技观察

这几天我的在线乞丐服务器遇到了一个问题,瞬间io会飙升到一个很高的水平,导致内存占用飙升。但实际上并发量并不大(网络连接数)。我知道是哪个进程引起的,但是我真的查了下代码里没有地方有这么大的读写。我真的想不通。部署的是套接字服务。用测试脚本运行,同时100个socket连接无压力。不知道对方发的是什么数据导致这么大的内存占用。之前处理过类似的问题。难的是定位好问题,重现实际操作。没办法,只能用socket服务的特定端口来抓包。希望能用数据包重现这种情况。服务器问题无非是资源使用不合理,导致服务器内存、cpu、io、流量等相关资源出现非常异常的波动,资源占用飙升。对于服务器性能问题的排查,没有其他更好的办法,只能通过重复盘来改善。尤其是服务器上跑的东西很多,一个一个去查是相当痛苦的。如果有问题,先看日志。如果在线,先想办法恢复服务再检查。检查登录日志、访问日志是否有异常,判断是否有人扫描过机器。看性能监控图,分析机器的状态,问题发生的规律。检查是否有服务被系统杀死。一般系统日志会记录kill前的进程列表,可以用来分析哪些进程占用资源较多。如果还是找不到原因,就只能抓取网络数据了。通过记录的网络数据在测试环境中重现线上问题。