JVM将在哪种情况下决定增加堆大小?

用户972946

JVM应用程序在Oracle Hotspot JVM上运行,使用默认的JVM设置启动,但初始堆大小为100MB,最大堆大小为1GB。

在哪种情况下,JVM将决定增加当前的堆大小,而不是尝试使用GC?

雅库布·库布林斯基(Jakub Kubrynski)

HotSpot JVM持续监视分配率和对象生存期。它试图实现两个关键因素:

  1. 让短暂的物体在伊甸园中死亡
  2. 促进长寿命的对象按时堆放,以防止在幸存者空间之间不必要地复制

简而言之,您可以将其描述为HotSpot具有一些已配置的阈值,该阈值指示运行垃圾收集器之后必须释放多少总分配堆。例如,如果将此阈值配置为70%,并且在运行满的GC堆使用率之后将为80%,则将分配更多内存以达到阈值。当然,较大的堆意味着更长的暂停,而较小的堆意味着更频繁的收集。

但是您必须记住,JVM非常复杂,您可以更改此行为,例如通过使用标志:

  • AdaptiveSizePausePolicy,它将选择堆大小以实现最短的暂停
  • AdaptiveSizeThroughPutPolicy,它将选择堆大小以实现最高吞吐量
  • GCTimeLimitGCTimeRatio,它设置了应用程序执行所花费的时间

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在哪种情况下,将在GEN 2垃圾收集器中进行清洁

来自分类Dev

在哪种情况下,异步方法将在与调用await之前使用的线程不同的线程中继续执行?

来自分类Dev

在不增加堆大小的情况下解析巨大的json文件

来自分类Dev

在不增加堆大小的情况下修复超出 GC 开销限制的问题

来自分类Dev

在哪种情况下最好在android中使用固定大小的布局?

来自分类Dev

如何增加Windows下运行的sbt的JVM堆大小?

来自分类Dev

在哪种情况下__declspec(align(#))不起作用?

来自分类Dev

在哪种情况下,PHP排序函数返回FALSE?

来自分类Dev

为什么需要双指针?在哪种情况下?

来自分类Dev

IIS在哪种情况下以304响应代码响应

来自分类Dev

在哪种情况下使用System.UnicodeString.Format?

来自分类Dev

在哪种情况下,不会调用onDestroy()?

来自分类Dev

在哪种情况下 AsynkTaskLoader 使用缓存数据?

来自分类Dev

增加JVM中的堆大小

来自分类Dev

在不更改布局的情况下增加/减小图像的大小

来自分类Dev

如何减少编译时间以及此代码将在哪些情况下失败

来自分类Dev

在哪种情况下,应在Javascript中在localeCompare上使用==,反之亦然?

来自分类Dev

在哪种情况下TaskCompletionSource.SetResult()会同步运行延续?

来自分类Dev

在哪种实际情况下,您需要只写属性?

来自分类Dev

在哪种情况下应该使用不同的.NET线程方法?

来自分类Dev

在哪种情况下可以在C ++中使用==直接比较两个float变量?

来自分类Dev

在哪种情况下我们要添加不带容器的片段?

来自分类Dev

在哪种情况下,java脚本中的对象方法比较返回false

来自分类Dev

在哪种情况下,交叉熵优于均方误差?

来自分类Dev

在哪种情况下程序会以0x40010004代码退出?

来自分类Dev

CachedNetworkImage和CachedNetworkImageProvider有什么区别?应该在哪种情况下使用?

来自分类Dev

在哪种情况下flink中的BroadcastConnectedStream确实有用?

来自分类Dev

在哪种情况下最好在tap内放置错误的回调而不是订阅?

来自分类Dev

在哪种情况下std :: optional运算符==会导致未定义的行为?

Related 相关文章

  1. 1

    在哪种情况下,将在GEN 2垃圾收集器中进行清洁

  2. 2

    在哪种情况下,异步方法将在与调用await之前使用的线程不同的线程中继续执行?

  3. 3

    在不增加堆大小的情况下解析巨大的json文件

  4. 4

    在不增加堆大小的情况下修复超出 GC 开销限制的问题

  5. 5

    在哪种情况下最好在android中使用固定大小的布局?

  6. 6

    如何增加Windows下运行的sbt的JVM堆大小?

  7. 7

    在哪种情况下__declspec(align(#))不起作用?

  8. 8

    在哪种情况下,PHP排序函数返回FALSE?

  9. 9

    为什么需要双指针?在哪种情况下?

  10. 10

    IIS在哪种情况下以304响应代码响应

  11. 11

    在哪种情况下使用System.UnicodeString.Format?

  12. 12

    在哪种情况下,不会调用onDestroy()?

  13. 13

    在哪种情况下 AsynkTaskLoader 使用缓存数据?

  14. 14

    增加JVM中的堆大小

  15. 15

    在不更改布局的情况下增加/减小图像的大小

  16. 16

    如何减少编译时间以及此代码将在哪些情况下失败

  17. 17

    在哪种情况下,应在Javascript中在localeCompare上使用==,反之亦然?

  18. 18

    在哪种情况下TaskCompletionSource.SetResult()会同步运行延续?

  19. 19

    在哪种实际情况下,您需要只写属性?

  20. 20

    在哪种情况下应该使用不同的.NET线程方法?

  21. 21

    在哪种情况下可以在C ++中使用==直接比较两个float变量?

  22. 22

    在哪种情况下我们要添加不带容器的片段?

  23. 23

    在哪种情况下,java脚本中的对象方法比较返回false

  24. 24

    在哪种情况下,交叉熵优于均方误差?

  25. 25

    在哪种情况下程序会以0x40010004代码退出?

  26. 26

    CachedNetworkImage和CachedNetworkImageProvider有什么区别?应该在哪种情况下使用?

  27. 27

    在哪种情况下flink中的BroadcastConnectedStream确实有用?

  28. 28

    在哪种情况下最好在tap内放置错误的回调而不是订阅?

  29. 29

    在哪种情况下std :: optional运算符==会导致未定义的行为?

热门标签

归档