• jvm参数总结


    之前一直对jvm参数都是现学现用,对有些地方没有总结,比如-XX 和 -X有什么区别,无意中看到oracle的官网对于jvm参数的介绍,下面做个简单的总结和翻译。

    首先献上oracle官方链接:

    1. http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
    2. https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html

    1 jvm参数类型

    1.1 标准参数(保证在所有的jvm上都实现)

    不是以-X和-XX开头的参数属于标准参数,例如-Dproperty=value -jar filename -client 等

    1.2 非标准参数(不保证在所有的jvm上都实现)

    非标准参数分为以-X开头的和以-XX开头的

    • 以-X开头的参数是非标准参数,有可能不在release note中通知就改变
    • 以-XX开头的参数是不稳定的,可能不通知就改变

    非标准参数

    • 对于boolean类型,-XX:+<选项> 表示打开选项;--XX:-<选项> 表示关闭掉选项
    • 对于数值类型,可用-XX:<选项>=<值> 表示;值默认单位是字节,也可用单位有‘k’或者‘K’、‘m’或者‘M’、‘g’或者‘G’,例如32k表示32768
    • 对于String类型,可用-XX:<选项>=<值>,通常用来指定一个文件、路径或者命令

    对于一些参数的默认值可用参考上面列出的oracle的官网

    2 常用参数

    参数 说明 备注
    -Dproperty=value 设置系统变量,等号两边没有空格,如果value有空格的话,需要用双 引号括起来
    -X 显示所有的-X 选项
    -Xmssize 设置堆的最小值 值必须是1024的倍数并且大于1M
    -Xmxsize 设置堆最大值 值必须值1024的倍数并且大于2M,一般情况下-Xmx和-Xms设置为一样大的值,和-XX:MaxHeapSize=size 意义相同
    -Xxssize 设置线程栈大小 默认值和jvm所在的平台有关系,该选项和-XX:ThreadStackSize 意义相同
    -XX:NewRatio=ratio 设置新生代和老年代的比例,默认大小比例是2
    -Xmnsize 设置年轻代大小,最大值和最小值都是size 值默认单位是字节,也可用单位有‘k’或者‘K’、‘m’或者‘M’、‘g’或者‘G’ 例如-Xmn256m
    -XX:NewSize=size 设置新生代初始大小
    -XX:MaxNewSize=size 设置新生代最大值

    3 其他

    -Xmnsize、-XX:NewRatio=ratio、-XX:NewSize=size/-XX:MaxNewSize=size 三个参数都会影响年轻代的大小,那么在混合使用的情况下,优先级是什么呢?

    1. 最高优先级 -XX:NewSize=size/-XX:MaxNewSize=size
    2. 中优先级:-Xmnsize(-Xmnsize 等效 -XX:NewSize=size -XX:MaxNewSize=size)
    3. 低优先级: -XX:NewRatio=ratio

    推荐使用-Xmnsize参数,原因是这个参数简洁,相当于一次设定-XX:NewSize=size/-XX:MaxNewSize=size,而且两者相等,适用于生产环境。-Xmnsize 配合 -Xmssize/-Xmxsize,即可将堆内存布局完成

    4 参考

    http://www.jiucaiyuan.net/m/?post=56
    http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html
    https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html

  • 相关阅读:
    MySql之基础
    web篇---jQuery
    前端篇---CSS
    前端篇--HTML
    Python篇1.17---多进程
    Python篇1.16---socket编程
    Python篇1.15---模块与包
    Python番外篇---函数
    python番外篇---变量与数据类型
    【认真的完整版翻唱!】红莲之箭【あるふぁきゅん。】
  • 原文地址:https://www.cnblogs.com/set-cookie/p/8727558.html
Copyright © 2020-2023  润新知