Socket 服务器内存占用偏高,服务器内存使用飙升的排查

这几天自己线上的乞丐服务器遇到一个问题,io会瞬间飙升到很高很高,造成内存使用飙升。但是实际上并发量并不大(网络连接数)。知道是哪个进程造成的,但是确实排查代码中没有是么地方会有这么大的读写。实在想不通。

部署的是一个socket服务。用测试脚本跑,同时100个socket连接毫无压力。也不知道对方到底发的什么数据导致这么大的内存占用。

之前也处理过类似的问题。麻烦之处在于很好的定位问题,重现实际的操作。没办法,只能针对socket服务特定的端口进行抓包。希望能够通过数据包复现这种情况。

492bed5eb46fd563897f29859bda3a4c.png

151be2c1ddf95fe4358e605d5ed36967.png

d4f59731d2d884efd5c1632cad8ace0c.png

bc307aead578b1b6dffe2ca9e6bad059.png

0553c0c0ccf157f635c6ca993905a192.png

服务器问题,无非就是资源不合理的使用,造成服务器内存,cpu,io,流量等相关资源出现非常不正常的波动,资源使用率飙升。对于服务器性能问题的排查,没有其他比较好的办法,只能是通过重现复盘去改进。特别是如果服务器上跑的东西比较多,一个个的排查相当痛苦。

出现问题,首先看日志。如果是线上的,先想办法恢复服务再排查。

看看登录日志,访问日志是否有异常,确定是否有人扫机器。

看性能监控图表,分析机器的状况,以及问题发生的规律。

看是否有服务被系统kill。一般系统日志都会记录kill之前的进程列表,可以很好的分析哪些进程资源占用多。

如果还是没找到原因,那就只能抓网络数据。通过记录的网络数据在测试环境中复现线上问题。

【编辑推荐】

【责任编辑:武晓燕 TEL:(010)68476606】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值