- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
请告诉我这些选项的用途。谷歌搜索后我认为:MinHeapFreeRatio 告诉“在 GC 之后,将确保指定的最小空间百分比在堆内存中可用”和MaxHeapFreeRatio 告诉“在 GC 之后,堆内存中没有超过指定百分比的可用空间”[如果空闲内存超过指定百分比,这些内存将返回给操作系统]
当我尝试将这些选项都设置为 10 时,即使有超过 80% 的可用堆内存,它也没有释放回操作系统。
详细信息:
Java HotSpot(TM) 64 位服务器虚拟机(1.5.0_15-b04,混合模式)ParallelGC(也称为吞吐量收集器,它是服务器类 VM 中的默认收集器)我将 -Xms50M 和 -Xmx1000M 指定为 jvm 参数操作系统:windows 7专业版(8GB内存64位操作系统)
注意:我也刚刚尝试使用 SerialGC,那些最小和最大堆空闲比率选项被忽略了。
最佳答案
参数-XX:MinHeapFreeRatio和-XX:MaxHeapFreeRatio参数的最佳解释在oracle垃圾文档中有:
https://docs.oracle.com/javase/10/gctuning/factors-affecting-garbage-collection-performance.htm
-XX:MinHeapFreeRatio=40
-XX:MaxHeapFreeRatio=70
使用这些选项,如果一代中可用空间的百分比低于 40%,则该代将扩展以保持 40% 的可用空间,直至达到该代允许的最大大小。类似地,如果可用空间超过 70%,则生成收缩,以便只有 70% 的空间可用,这取决于生成的最小大小。
我以这种方式将它与 G1GC 结合起来:
-XX:+UseG1GC -XX:MinHeapFreeRatio=2 -XX:MaxHeapFreeRatio=10
结果是:
关于java - -XX :MinHeapFreeRatio and -XX:MaxHeapFreeRatio 的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16058250/
请告诉我这些选项的用途。谷歌搜索后我认为:MinHeapFreeRatio 告诉“在 GC 之后,将确保指定的最小空间百分比在堆内存中可用”和MaxHeapFreeRatio 告诉“在 GC 之后,堆
我是一名优秀的程序员,十分优秀!