本帖最后由 默龙隐凤 于 2025-6-6 14:44 编辑
问题现象:易乐游更新服务启动后会一直占用内存,直到内存占用完后导致服务器卡死
排查过程:
1.怀疑是进程被注入或者文件损坏,替换更新服务EyooNets.exe文件后重启进程还是一样的现象。
2.使用Procmon查看EyooNets在扫描服务器磁盘。
3.使用pchunter和openark工具查看模块加载,对比其他网吧服务器,发现少了一个EasyDown.dll通用下载模块,本地卸载后重启更新服务测试没有复现内存占用高的情况。
4.使用RAMMap工具查看内核占用,只显示EyooNets.exe进程占用高,没有其他内核模块占用高。
5.联系易乐游帮忙排查,最后确定是Smenetdb::TENetOnLineResDB::SaveResAddtionalDataEx里面sql遍历所有ENet资源且一直在循环,将之前的数据库文件删除后重新启动资源更新服务显示正常占用内存。
解决方法:是之前的旧数据库文件异常或者损坏导致资源更新服务启动后一直在循环数据库,从而出现进程占用内存越来越高,最终出现服务器内存使用完卡死,之前低版本升级后若出现更新或者游戏无法启动的问题,可以将数据库删除重新生成,再进行导入游戏。
传送门:易乐游一键清理旧游戏数据库批处理(用于重建游戏数据库)可以使用该批处理直接操作重建游戏数据库。
|