java - 你能估计一下 Java 会增加多少堆吗?

标签 java jvm heap-memory

这可能是一个新手提出的不太正确的问题,但我希望你能提供帮助。

我想知道是否可以估计 Java 将如何增加堆,以保持 -XX:MinHeapFreeRation=40(默认值)百分比的堆可用?

更具体:
如果我的堆已分配/占用 300 MB,则意味着 JVM 必须始终保持 40%*300 = 120 MB 空闲。假设我有内存泄漏,并且 GC 在这种情况下没有帮助。那么,当我的可用堆空间有下降到 120 MB 以下的危险时,Java 将增加多少量的堆分配内存? 20MB、40MB?我想这取决于系统和系统的当前状态。但假设我的应用程序是唯一正在运行的应用程序。

有人可以帮忙吗?谢谢。

最佳答案

我认为堆增长的大小是特定于实现的。但是您始终可以使用 XX:MaxPermSize 参数来限制堆可以增长的大小。

关于java - 你能估计一下 Java 会增加多少堆吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7065346/

相关文章:

java - Rally Java API 仅从项目中拉取团队成员

java - 如何查看tomcat是否正在运行

java - 关于 VM 参数

java - 如何增加 STS(Spring Tool Suite)内存大小?

java - 读取文本文件并存储在 HashMap 中。然后按顺序排序

Java:添加2个 float 并得到 double 结果

java - 在 Activity 之间发送 ArrayList<Float>

java - JVM嵌入到C中,运行程序下不会出现

java - 为什么更改 VMOptions 后无法打开 Android Studio

Java 虚拟机堆调优参数