开发者社区 问答 正文

如何判断Direct Memory是否溢出?

如何判断Direct Memory是否溢出?

展开
收起
夹心789 2024-05-29 18:22:31 90 分享 版权
1 条回答
写回答
取消 提交回答
  • 通过top命令发现JAVA实际占用的RES甚至超过了-Xmx的大小,内存使用率不断上升,甚至开始使用SWAP内存。
    使用Native Memory Tracking (NMT)工具分析,在项目中添加-XX:NativeMemoryTracking=detail JVM参数后重启项目,并使用jcmd pid VM.native_memory detail命令查看内存分布。
    重点观察total中的committed值,如果与top命令中的RES值相差不大,则可能是主动申请的Direct Memory未释放造成的溢出。

    2024-05-29 21:06:08
    赞同 展开评论
问答地址: