常见参数配置
- -XX:+PrintGC 每次触发GC的时候打印相关日志
- -XX:+UseSerialGC 串行回收
- -XX:+PrintGCDetails 更详细的GC日志
- -Xms 堆初始值
- -Xmx 堆大可用值
- -Xmn 新生代堆大可用值
- -XX:SurvivorRatio 用来设置新生代中eden空间和from/to空间的比例.
- -XX:NewRatio 配置新生代与老年代占比 1:2
- -XX:SurvivorRatio 用来设置新生代中eden空间和from/to空间的比例
总结:在实际工作中,我们可以直接将初始的堆大小与大堆大小相等,这样的好处是可以减少程序运行时垃圾回收次数,从而提高效率
成都创新互联公司-成都网站建设公司,专注成都网站设计、做网站、成都外贸网站建设公司、网站营销推广,域名注册,虚拟主机,网站托管运营有关企业网站制作方案、改版、费用等问题,请联系成都创新互联公司。堆内存大小配置
使用示例: -Xmx20m -Xms5m
当前堆大内存 20M,堆初始化内存 5M
设置新生代比例参数
使用示例:-Xms20m -Xmx20m -Xmn1m -XX:SurvivorRatio=2 -XX:+PrintGCDetails -XX:+UseSerialGC
当前堆大内存 20M,初始化堆内存 20M,新生代大可用内存 1M,Eden 区域和 form、to 区域的比例是 2:1:1,打印 GC 日志,使用串行回收
设置新生代与老年代比例参数
使用实例:-Xms20m -Xmx20m -XX:SurvivorRatio=2 -XX:NewRatio=2 -XX:+PrintGCDetails -XX:+UseSerialGC
当前堆大内存 20M,初始化堆内存 20M,Eden 区域和 form、to 区域的比例是 2:1:1,新生代和老年代比例是 1:2,打印 GC 日志,使用串行回收
Java堆溢出
错误原因:java.lang.OutOfMemoryError: Java heap space 堆内存溢出
设置合适的堆大小:-Xms1m -Xmx100m -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError
最后的参数表示堆内存溢出出打印快照
虚拟机栈溢出
错误原因:java.lang.StackOverflowError 栈内存溢出
虚拟机栈溢出发生在递归调用,循环不会产生虚拟机栈溢出,除非循环里面嵌套递归
设置更大的深度,默认深度大概在 10000 左右
-Xss5m 设置大调用深度
内存溢出与内存泄漏区别
内存溢出:申请空间超出系统能够提供的空间大小
内存泄露:内存泄露是指程序中间动态分配了内存,但在程序结束时没有释放这部分内存,从而造成那部分内存不可用的情况,最终导致内存溢出
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
当前名称:JVM常用参数-创新互联
本文地址:http://lswzjz.com/article/dghsgd.html