参考:
参数 | 说明 | 示例 | 默认值 |
-Xms | 初始堆大小 | -Xms128m | |
-Xmx | 最大堆大小 | -Xmx256m | |
-Xmn | 年轻代大小 | -Xmn64m | 堆大小1/3 |
-Xss | 单个线程的堆大小。 该参数越小,可同时容纳的线程数(并发数)越高。 但是操作系统对一个进程内的线程数有限制,经验值在3000~5000左右 | -Xss256k | JDK5以前为256K JDK5以后为1M
|
-XX:NewRatio | 老年代/新生代 的比值 注:如果设定了-Xmn的值,该配置会被忽略 | -XX:NewRatio=3 | 2 |
-XX:SurvivorRatio | Eden/to或者from 的比值 | -XX:SurvivorRatio=7 | 8 |
-XX:MinHeapFreeRatio | 当堆内存空闲率低于该设定值时,开始扩容 | -XX:MinHeapFreeRatio=50 | 40 |
-XX:MaxHeapFreeRatio | 当堆内存空闲率高于该设定值时,开始缩容 | -XX:MaxHeapFreeRatio=75 | 70 |
示例:
未手动设置任何jvm参数时,默认参数如下:
附:常用jvm命令行工具
jps:显示当前所有java进程及其pid
jmap -heap <pid>:打印当前pid的堆内存使用概况
jmap -dump:live,format=b,file=<快照路径> <pid>:保存当前pid的内存快照(参数值带live,dump之前会进行Full GC,如果不希望进行Full GC,请勿设置live参数值)