【发布时间】:2015-12-24 07:23:55
【问题描述】:
我正在调整在 64 位环境中运行的堆重 Java 应用程序(所需的堆大小超过 32G),并打算将 Xmx 增加到适当的数字。
在 32G 之后,OOP(普通对象指针)将不会使用 -XX:+UseCompressedOops 选项进行压缩。所以需要知道我的应用程序中 OOP 的确切大小,以补偿未压缩的 OOPS 并增加额外的内存。
有没有办法单独确定 OOP 消耗的总内存?
【问题讨论】:
-
普通对象指针
-
似乎是 stackoverflow.com/questions/52353/… 的副本 您是否尝试过使用 Profiler?如果是,你能分享一下结果吗?
-
它不是重复的,这里我不是试图单独理解 OOP 所占用的大小,而不是对象。
-
您可能想查看 JOL - openjdk.java.net/projects/code-tools/jol
-
如果您已经消耗了超过 32gb 的数据,那么减少几兆字节真的不会动摇船。
标签: java performance jvm