我是Java新手,刚刚通过使用eclispe的MAT进行堆转储分析。所以我只想低于点 a)了解什么是浅的和保留的堆大小以及它是如何计算的?如果您提供示例,这将非常棒。 b)对于性能问题,大多数人建议我保持最小和最大堆大小相同,所以没关系,或者它对于应用程序的应用程序是主观的?如何计算保留的堆大小和浅堆大小?
1
A
回答
4
浅堆是一个object
消耗的内存。一个对象需要每参考32或64位(取决于操作系统体系结构),每整数4个字节,每龙等8个字节根据堆转储格式的大小可被调节
留存X的堆是保留的X组中所有对象的浅尺寸的总和,即由X保持活着的内存。
请参阅this链接。
1
JVM调整大小和调整不是一门精确的科学,因此,一揽子决定将最小和最大大小设置为相同并不一定是最佳配置。
我发现this是您需要做出的各种决定的绝佳解释。在解决你的问题时,它说:
将-Xms和-Xmx设置为相同的值可以通过从虚拟机中删除最重要的大小决定来提高可预测性。但是,如果您做出糟糕的选择,虚拟机将无法补偿。
如果设置的最小和最大相同,但有一个不恰当的大小伊甸园的空间,你可能仍然结束了可怜的垃圾收集的性能。
决定调整大小的唯一方法是在各种工作负载下运行您的应用程序并查看GC的执行情况。
相关问题
- 1. .NET提交与保留堆大小
- 2. 浅堆和保留堆都是0
- 3. 如果知道最大堆大小,如何计算最大对象大小?
- 4. Cassandra和堆大小
- 5. 预留Java JVM最大堆大小
- 6. 关于堆(最大堆和最小堆)
- 7. Cassandra缓存大小和JVM堆大小
- 8. 增加堆栈保留大小不会防止堆栈溢出
- 9. Elasticsearch堆大小
- 10. 的Java堆大小
- 11. Nexus的最大堆大小?
- 12. -Xms:初始堆大小或最小堆大小?
- 13. 了解Node.js的驻留集大小与堆大小(OOM错误)
- 14. Android堆大小和SoftReferences
- 15. 堆大小和位置
- 16. iphone os支持的最大堆大小和堆栈大小是多少?
- 17. Android堆大小小于16mb
- 18. Cassandra最小堆大小
- 19. Tomcat7堆栈大小很小
- 20. 堆栈保留大小和堆栈提交大小是否会增加提高应用程序性能?
- 21. 堆大小大于-Xmx
- 22. 最大堆大小无效
- 23. 如何找到最大堆栈大小?
- 24. 信息堆大小
- 25. Netbeans堆大小java
- 26. Android Studio堆大小
- 27. Java堆/池大小
- 28. 增加堆大小
- 29. 更改堆大小
- 30. 堆空间大小?
请参阅http://stackoverflow.com/questions/6862972/is-it-good-to-set-the-max-and-min-jvm-heap-size-the-same用于设置最小和最大值相同尺寸。 – Mark 2012-08-08 07:39:05