千家信息网

服务器内存泄漏的示例分析

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,这篇文章将为大家详细讲解有关服务器内存泄漏的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前记:由于之前游戏服务器,维护比较频繁,大概每周一次,而且玩家导量
千家信息网最后更新 2024年09月21日服务器内存泄漏的示例分析

这篇文章将为大家详细讲解有关服务器内存泄漏的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

前记:由于之前游戏服务器,维护比较频繁,大概每周一次,而且玩家导量一般,导致内存问题一直不明显,没有引起足够的重视。直到前段时间,导量比较足,而且没有适时的开新服,导致其中一个服,日创角5K左右。加之平台对服务器成本比较在意,不得不加班重新排查内存泄漏问题。

内存管理工具比较常用的是ptmalloc,jemalloc以及tcmalloc.

我们服务器使用的是jemalloc,所以用配套的jeprof进行泄漏检查。我采用的定时dump内存,然后通过分析对比heap文件进行排查。

1.代码定时器增加dump代码

mallctl("prof.dump", NULL, NULL, NULL, 0);

2.启动前

export MALLOC_CONF="background_thread:true,prof:true,prof_prefix:jeprof.out"

export LD_PRELOAD=$real_path/program/lib/libjemalloc.so

3.分析heap文件

导出pdf文件jeprof --show_bytes --pdf ./yourprogram jeprof.out.xxx.xx.mxx.heap > xx.pdf

通过比较两份pdf,定位大概内存泄漏点。查看进程代码,进行核实。

总结:

1.内存池滥用,申请时采用new,回收让内存池自己处理,导致内存池不断扩大。

解决方法:内存池方法应该配套使用。

2.异步调用,粗心未减引用。

解决方法:细心编码incRef对应decRef,尽量不要对大结构体进行加引用,导致泄漏问题变得更严重。

关于"服务器内存泄漏的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

内存 服务器 服务 分析 代码 文件 方法 篇文章 问题 示例 更多 不错 实用 明显 细心 适时 频繁 粗心 不断 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 肇庆汽车软件开发外包 永泰计算机网络技术期未考 网络安全会议结束了吗 2020年网络安全技术应用 郑州新动力网络技术公司 高智能移动软件开发开设院校 广电网络技术支持岗 关于网络安全防火墙论文 游戏端和服务器之间传输什么信息 张家口锦烨互联网科技有限公司 云电脑的服务器管理器怎么用 陕西华为服务器虚拟化优化云主机 关于网络安全的新闻评论 ps3 媒介服务器 游戏软件开发承揽协议 帝国神话搜不到官方服务器 金融行业软件开发年龄 栖霞区常规软件开发 报考网络安全工程师有什么条件 z690支持服务器内存吗 web服务器端口排名 mysql数据库用户权限 游戏开发跟软件开发哪个更难 网络安全与信息化期刊号 金融和软件开发哪个更好 网络安全手抄报 文字清晰 临汾市网络安全事件应急预案 r740服务器标配多少瓦电源 rpa3.0阶段部署在云服务器 天津免备案服务器云主机
0