JVM常用启动参数

jvm内存管理配置
通用配置

-Xms4096m //最小堆内存
-Xmx4096m //最大堆内存
-Xmn2048m //年轻代大小
-XX:SurvivorRatio=8 //设置eden区和survivor区的内存大小比例,例如8就代表eden和两个survivor区的比例是8:1:1
-XX:TargetSurvivorRatio=90 //?
-XX:MaxTenuringThreshold=129 //在新生代对象存活次数(经过Minor GC的次数)超过n后,就会晋升到老年代
-XX:PermSize=512M //永久代初始值
-XX:MaxPermSize=512m //永久代最大值
-Xss256k //每个线程的堆栈大小
-XX:+DisableExplicitGC //禁止显式调用System.gc()

使用CMS+ParNew收集器配置
-XX:+UseConcMarkSweepGC //使用CMS收集器
-XX:+UseParNewGC //使用ParNew收集器
-XX:ParallelGCThreads=20 //设置ParNew收集器的垃圾回收并行线程数
-XX:CMSInitiatingOccupancyFraction=85 //在老年代内存到达n%的时候开始CMS回收(因为CMS回收时用户线程并发,因此要提前开始回收)

日志配置
-verbose:gc //输出gc详情
-XX:+PrintGCDateStamps //GC发生的时间信息
-XX:+PrintGCDetails //显示GC详细信息
-Xloggc:logs/gc_`date ‘+%Y-%m-%d_%H:%M:%S‘`.log //gc日志产生的路径

调试配置

-XX:+PrintTenuringDistribution  //输出在survivor空间里面有效的对象的岁数情况

时间: 2024-12-14 02:48:54

JVM常用启动参数的相关文章

prometheus 版本1.7 常用启动参数

参数是使用./prometheus -h 获取的,部分翻译参考网上已有资料.部分参数已经废弃了,因此我这里就没有列出来. prometheus 版本1.7 常用启动参数: 日志类: -log.level 可选值 [debug, info, warn, error, fatal]  例:-log.level "info" -log.format  可选输出到syslog或者控制台  例:-log.format "logger:syslog?appname=prom&lo

JVM调优系列:(五)JVM常用调试参数和工具

JVM常用调试用参数: –verbose:gc在虚拟机发生内存回收时在输出设备显示信息 -Xloggc:filename把GC相关日志信息记录到文件以便分析 -XX:-HeapDumpOnOutOfMemoryError当首次遭遇OOM时导出此时堆中相关信息 -XX:OnError="<cmdargs>;<cmd args>" 出现致命ERROR之后运行自定义命令 -XX:-PrintClassHistogram遇到Ctrl-Break后打印类实例的柱状信息,与

jvm常用相关参数

JVM内存设置相关参数,其他一些没有提到的参数可参考https://www.cnblogs.com/syuf/p/10183683.html.-server-Xss512k:每个线程堆栈大小-Xms32m:JVM初始堆大小-Xmx128m:JVM最大堆大小-XX:MaxInlineLevel=1:针对嵌套调用的最大内联深度(单位K)-XX:InlineSmallCode=25 设置应内联的已编译方法的最大代码大小(字节)-XX:InitialCodeCacheSize=32m:初始代码高速缓存大

(入门贴)JVM堆内存相关的启动参数:年轻代、老年代和永久代的内存分配

如果想观察JVM进程占用的堆内存,可以通过命令工具jmap或者可视化工具jvisualvm.exe.JVM这些启动参数都拥有默认值,如果想了解JVM的内存分配策略,最好手动设置这些启动参数.再通过JDK提供的工具的统计结果,进行对比,就比较容易理解这些内存分配的理论知识.运行环境是win7 32位操作系统,JDK1.7.0_60版本. 测试代码和JVM启动参数如下: public class Test { public static void main(String[] args) { int

jvm常用参数

jvm常用的参数: 1.-Xms20M 设置堆容量的最小值为20M,必须以M为单位. 2.-Xmx20M 设置堆容量的最大值为20M,必须以M为单位.把-Xms和-Xmx的值设为一样可以避免堆自动扩展.大的项目-Xmx和-Xms一般要10G.20G甚至更高. 3.-verbose:gc 输出虚拟机中gc的详细情况. 4.-Xss128k 设置虚拟机栈的大小是128k 5.-Xoss128k 设置本地方法栈的大小为128k.Hotspot虚拟机不区分虚拟机栈和本地方法栈,这个对于Hotspot来说

JVM堆内存相关的启动参数:年轻代、老年代和永久代的内存分配

如果想观察JVM进程占用的堆内存,可以通过命令工具jmap或者可视化工具jvisualvm.exe.JVM这些启动参数都拥有默认值,如果想了解JVM的内存分配策略,最好手动设置这些启动参数.再通过JDK提供的工具的统计结果,进行对比,就比较容易理解这些内存分配的理论知识.运行环境是win7 32位操作系统,JDK1.7.0_60版本. 测试代码和JVM启动参数如下: public class Test { public static void main(String[] args) { int

Eclipse jvm启动参数在哪设置

学习并转载自https://jingyan.baidu.com/article/624e7459653ca534e8ba5a26.html Java是一门非常受欢迎的编程语言,Java的开发人员多数使用Eclipse作为自己的IDE, 在代码调试的过程中有时会遇到内存不足的错误,有没有办法手动指定JVM的启动 参数呢?所以今天笔者和大家分享下"jvm启动参数在哪设置",希望能给大家带来一些帮助. ①打开Eclipse ②创建一个类,编写一段演示用的代码,在代码编辑区右键单击,依次选择[

深入理解JVM一配置参数

一.JVM配置参数分为三类参数: 1.跟踪参数 2.堆分配参数 3.栈分配参数 这三类参数分别用于跟踪监控JVM状态,分配堆内存以及分配栈内存. 二.跟踪参数 跟踪参数用于跟踪监控JVM,往往被开发人员用于JVM调优以及故障排查. 1.当发生GC时,打印GC简要信息 使用-XX:+PrintGC或-verbose:gc参数 这两个配置参数效果是一样的,都是在发生GC时打印出简要的信息,例如执行代码: 1: public static void main(String[] args) 2: { 3

深入理解Java虚拟机-常用vm参数分析

Java虚拟机深入理解系列全部文章更新中... 深入理解Java虚拟机-Java内存区域透彻分析 深入理解Java虚拟机-常用vm参数分析 深入理解Java虚拟机-JVM内存分配与回收策略原理,从此告别JVM内存分配文盲 深入理解Java虚拟机-如何利用JDK自带的命令行工具监控上百万的高并发的虚拟机性能 深入理解Java虚拟机-如何利用VisualVM对高并发项目进行性能分析 深入理解Java虚拟机-你了解GC算法原理吗 话不多说,今天就分析一下一些常用的Java虚拟机的参数设置,以及如何更好