java虚拟机内存不足 java虚拟机启动内存参数
转载
1. JVM启动参数分类
1.1 标准参数(-)
- 所有JVM都必须实现这些参数的功能,而且向后兼容
- 如-verbose:gc (输出每次GC的相关情况)
1.2 非标准参数(-X)
- -Xint 解释执行
- -Xcomp 第一次使用就编译成本地代码
- -Xmixed 混合模式,JVM自己来决定是否编译成本地代码,默认
1.2 非Stable参数(-XX)
2. 内存配置参数
2.1 配置JVM最大堆内存为10240M
-Xmx10240m
# 等价于
-XX:MaxHeapSize=1024m
2.2 配置JVM初始堆内存为10240M
-Xms10240m
# 等价于
XX:InitialHeapSize=1024m
2.3 配置JVM新生代内存大小
-Xmn512m
# 等价于
-XX:NewSize=512m
2.4 配置单个线程栈内存大小
-Xss1024k
# 等价于
-XX:ThreadStackSize=1024k
2.5 配置元空间大小
2.6 配置eden区与suvivor区占比为8:1:1
2.7 配置老年代与新生代内存占比为2:1
2.8 配置多少轮生存后放到老年代
-XX:MaxTenuringThreshold=15
3. 其他配置
3.1 打印参数默认值
3.2 打印参数的更新情况
3.3 打印常用的参数信息
-XX:+PrintCommandLineFlags
4. 垃圾回收相关
4.1 打印GC回收细节
4.2 开启指定垃圾回收器
-XX:+UseSerialGC
# 开启后会使用 Serial+Serial Old的收集器组合
-XX:+UseParNewGC
# 开启后会使用 ParNew+Serial Old的收集器组合,但不推荐了
-XX:+UseParallelGC
# 开启后会使用 Parallel Scanvenge+Parallel Old的收集器组合
-XX:+UseParallelGC
# 开启后会使用 Parallel Scanvenge+Parallel Old的收集器组合
-XX:+UseConcMarkSweepGC
# 开启后会使用ParNew+CMS+Serial Old的收集器组合
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。