排查JVM中unsafe.allocateMemory未释放引发的内存泄漏问题
排查
unsafe.allocateMemory内存泄漏导致JVM崩溃的困境 我花了大量时间查找unsafe.allocateMemory的调用源头,但毫无进展,感到很沮丧。我并非性能分析或Jemalloc专家,目前已做的排查操作如下:
- 使用Yourkit确认堆内存与非堆内存均处于正常状态;
- 服务器整体内存持续飙升至100%,最终导致JVM崩溃;
- 通过Jemalloc运行应用一段时间后生成JEPROF文件,转换为PDF查看内存分布与函数调用栈(已附相关截图)。
我发现存在调用unsafe.allocateMemory后未调用unsafe.freeMemory的情况,这会耗尽所有内存。我已抓取应用的线程dump(已附文件),但未找到相关线索,希望有人能提供排查方向或指出我遗漏的信息,感谢帮助。
内容的提问来源于stack exchange,提问作者usphisics
相关产品推荐
相关产品推荐

