服务器内存过高的排查

服务器内存过高的排查

记一次因为内存过消耗过大的排查

环境

阿里云服务器学生机,ubuntu16.4

排查过程

先看看阿里云的控制端显示的内存占用情况

内存情况
先是使用了top指令查看了机器占用情况

top排查

并没有发现异常的程序。也没有显示内存有占用过大。
使用指令查看占用的物理内存,
ps aux|awk '{sum+=$6} END {print sum/1024}'

使用指令,核实进程的最大使用内存量
ps -eo pid,rss,pmem,pcpu,vsz,args --sort=rss

rss

发现最大的内存占用进程最大瞬间只是使用了百分之18,并未达到1.8G的占用情况,还是未找到异常

使用slabtop指令,看到dentry占用过大。
slabtop

排查到的可能是因为,在我跟打器服务中使用的tcp协议,有可能是频繁的进行创建实例导致的频繁销毁而并未被回收。

打印查看程序的日志,发现有用户一直重复的连接TCP端口,导致无限创建实例而并未释放。

跟打器重复连接

后经审查代码发现,因为客户端上掉线进行的无限重连的逻辑错误,修改之后内存恢复正常。

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×