已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
8小时前关门了。
Improve this question
这是一个很长的时间重新搜索,并尝试找到的是调用一个不安全的.allocateMemory和没有成功.有点失望:-(我不是一个Maven或配置文件或与jemalloc,但这里是我做了什么,到目前为止,希望有人能看到/找到我不能...
- 堆和非堆内存都很好...我用了你的工具包。
- 盒子上的通用内存疯狂增加,直到100%和jvm崩溃。
- 使用Jemalloc并让应用程序运行很长时间,我能够获得一些JEPROF文件,并将其中一些转换为PDF,以查看备忘录/函数堆栈调用:
我发现在完成后,有东西正在调用***unsafe.allocateMemory***,而没有调用***unsafe.freeMemory***,所以它会吃掉我所有的内存。我从应用程序中做了一个线程转储(link to the txt with the thread dump),但不幸的是,我无法找到任何与***unsafe.allocateMemory***相关的内容。有没有人能看到一些我看不到的东西,或者通过给我任何线索或给我指出正确的方向来帮助我?谢谢...。
1条答案
按热度按时间cl25kdpy1#
试试async-profiler,它可以显示
Unsafe_AllocateMemory0
的所有调用者的完整Java堆栈跟踪。示例:
输出文件
alloc.html
将是所有Unsafe_AllocateMemory0
调用的火焰图:有关在Java中查找本机内存泄漏的更多信息,请参见this question和this discussion。