参考:
| 参数 | 说明 | 示例 | 默认值 |
| -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参数值)
本文深入解析JVM参数配置,包括初始堆、最大堆、年轻代大小等关键参数的作用与默认值,以及如何通过调整参数提升Java应用性能。附带常用JVM命令行工具介绍,如jps、jmap等。
9万+

被折叠的 条评论
为什么被折叠?



