常用的 JVM 调优的参数都有哪些?
时间: 2023-12-10 20:04:36 浏览: 162
常用的 JVM 调优参数有:
1. -Xmx:设置 JVM 最大可用内存大小,如 -Xmx2g 表示最大可用内存为 2GB。
2. -Xms:设置 JVM 初始内存大小,如 -Xms1g 表示初始内存为 1GB。
3. -XX:NewRatio:设置新生代和老年代的比例,默认为 2,表示新生代占整个堆内存的 1/3。
4. -XX:SurvivorRatio:设置新生代中 Eden 区和 Survivor 区的比例,默认为 8,表示 Eden 区占新生代内存的 8/10。
5. -XX:MaxPermSize:设置永久代最大空间。
6. -XX:+UseConcMarkSweepGC:开启 CMS 垃圾收集器。
7. -XX:+UseParallelGC:开启并行垃圾收集器。
8. -XX:+HeapDumpOnOutOfMemoryError:当内存溢出时,生成堆内存转储文件。
9. -XX:+PrintGCDetails:打印 GC 详细信息。
10. -XX:+PrintGC:打印 GC 信息。
相关问题
JVM调优的⼯具和命令有哪些,jstat 查看状态都有哪些?
JVM调优的工具和命令有很多,以下是一些常用的:
1. jps:查看当前系统中所有的Java进程
2. jstat:查看JVM的各种状态信息,包括垃圾回收、类加载、内存使用等
3. jmap:导出堆内存中的信息,包括对象数量、大小、分布等
4. jstack:查看Java进程中线程的状态信息,包括线程堆栈、锁等待情况等
5. jconsole:可视化监控工具,可以监控JVM的状态信息,包括内存、线程、GC等
关于jstat,常用的参数包括:
1. -gc:查看垃圾回收情况,包括各个区域的使用情况、GC次数、时间等
2. -class:查看类加载情况,包括已加载类、未加载类、卸载类等
3. -compiler:查看JIT编译器情况,包括编译任务、编译失败等
4. -gcutil:查看垃圾回收情况总结,包括堆内存使用情况、GC时间、CPU占用等
5. -gccapacity:查看堆内存容量情况,包括堆内存总容量、已使用容量、最大可用容量等
以上是常用的jstat参数,还有其他一些参数可以根据需要使用。
说一下 jvm 调优的工具?
JVM调优涉及到监控和分析Java应用程序的性能,以及调整JVM的参数来优化应用程序的性能。有许多工具可以帮助开发者进行JVM调优,这里介绍几个常用的工具:
1. **jstat(JVM Statistics Monitoring Tool)**:这是一个命令行工具,用于显示虚拟机各方面的运行数据,比如类加载、垃圾收集等信息。它可以帮助开发者了解JVM的实时性能指标。
2. **jmap(Memory Map for Java)**:此工具用于生成堆转储(heap dump),显示内存映射,帮助开发者分析内存使用情况和找到内存泄漏。
3. **jstack(Java Stack Trace)**:jstack用于生成当前时刻的线程快照,可以用来分析和诊断线程状态,帮助识别死锁或者线程运行情况。
4. **VisualVM**:这是一个图形化工具,提供了一个可视界面来监控和分析JVM运行环境的性能。它能够监控应用程序的CPU、内存使用情况,查看线程信息,以及分析堆转储文件等。
5. **JConsole(Java Monitoring and Management Console)**:JConsole也是一个基于JMX(Java Management Extensions)的图形化监控工具,可以用来监控内存使用、线程和类的使用情况,以及连接到JVM的性能数据。
6. **MAT(Memory Analyzer Tool)**:专门用于分析堆转储文件的工具,可以帮助开发者识别内存泄漏和分析大内存使用问题。
7. **GC日志分析工具**:比如GCViewer、GCEasy等,可以用来分析JVM的垃圾收集日志,提供直观的报告,帮助理解GC的行为和性能影响。
阅读全文