JVM参数调优初步

Java命令基本格式

java [-options] class [args...]

  • -options 表示Java虚拟机的启动参数。
  • class为带main()函数的Java类。
  • args表示传递给main()函数的参数。

堆空间的结构:

  • eden
  • s0
  • s1
  • tenured

Server模式与Client模式

Server模式

-server

设置Java栈参数

-Xss 线程最大栈空间。

例:-Xss128K

-XX:+DoEscapeAnalysis     启用逃逸分析。只有在Server模式下才可以使用。

-XX:+EliminateAllocations  开启了标量替换(默认打开),允许将对象打散分配在栈上,比如对象拥有id和name两个字段,那么这两个字段将会视为独立的局部变量进行分配。

-XX:-UseTLAB                   关闭TLAB

Java方法区

JDK1.6,JDK1.7中,方法区(永久区)可以使用参数如下:

-XX:PermSize       初始化方法去大小。例:-XX:PermSize=5m

-XX:MaxPermSize  最大方法区,默认情况为64MB。例:-XX:MaxPermSize=5m

元数据区

-XX:MaxMetaspaceSize

打印GC

-XX:+PrintGC  打印GC信息。

-XX:+PrintGCDetails   GC后打印堆信息。

-XX:+PrintHeapAtGC   GC前后分别打印堆的信息。

-XX:+PrintGCTimeStamps   GC发生时,额外输出GC发生的时间,该输出时间为虚拟机启动后时间的偏移量。

-XX:+PrintGCApplicationConcurrentTime

-XX:+PrintGCApplicationStoppedTime

-XX:+PrintReferenceGC

类加载/卸载的跟踪

-verbose:class  跟踪类的加载和卸载

-XX:+TraceClassLoading

-XX:+TraceClassUnloading

系统参数查看

-XX:+PrintVMOptions

-XX:+PrintCommandLineFlags 打印传递给虚拟机的显示和隐身参数。

设置Java堆参数

Xms:设置初始化堆空间。

Xmx:设置最大堆空间。例:-Xmx10m 即设置堆空间最大为10MB。

新生代的配置

Xmn

-XX:SurvivorRatio

-XX:NewRatio

时间: 2024-11-05 07:42:53

JVM参数调优初步的相关文章

JVM参数调优:Eclipse启动实践

本文主要参考自<深入理解 Java 虚拟机>.这本书是国人写的难得的不是照搬代码注释的且不是废话连篇的技术书,内容涵盖了 Java 从源码到字节码到执行的整个过程,包括了 JVM(Java Virtual Machine)的架构,垃圾收集的介绍等.这里摘录出关于配置 JVM 基本参数来调优 Eclipse 启动的过程,比较初级,供初学者参考. 基础知识 针对 JVM 的参数调优主要集中在数据区大小的控制和垃圾回收策略的选择.关于 JVM 运行机制等更多内容可参考其他博文 JVM 的运行时数据区

JVM参数调优

JVM参数调优 JVM参数调优是一个很头痛的问题,可能和应用有关系,下面是本人一些调优的实践经验,希望对读者能有帮助,环境LinuxAS4,resin2.1.17,JDK6.0,2CPU,4G内存,dell2950服务器. 一:串行垃圾回收,也就是默认配置,完成10万request用时153秒,JVM参数配置如下$JAVA_ARGS .= " -Dresin.home=$SERVER_ROOT -server -Xms2048M -Xmx2048M -Xmn512M -XXermSize=256

SOLR管理配置和性能优化JVM参数调优

我个配置:JAVA_OPTIONS="-Xmx1024m -Xms1024m -Xmn512m -XX:MaxPermSize=128m -XX:SurvivorRatio=65536 -XX:MaxTenuringThreshold=0 -Xnoclassgc -XX:+DisableExplicitGC -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBefor

(转)JVM参数调优八大技巧

这里和大家分享一下JVM参数调优的八条经验,JVM参数调优,这是很头痛的问题,设置的不好,JVM不断执行FullGC,导致整个系统变得很慢,网站停滞时间能达10秒以上,相信通过本文的学习你对JVM参数调优有新的认识. 实例讲解JVM参数调优的八条经验 本文将介绍JVM参数调优,这是很头痛的问题,设置的不好,JVM不断执行FullGC,导致整个系统变得很慢,网站停滞时间能达10秒以上,这种 情况如果没隔几分钟就来一次,自己都受不了.这种停滞在测试的时候看不出来,只有网站pv达到数十万/天的时候问题

JVM参数调优与垃圾回收机制

自动内存管理机制 Java虚拟机原理  所谓虚拟机,就是一台虚拟的机器.他是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可以分为 系统虚拟机和程序虚拟机, 大名鼎鼎的Visual Box.Vmare就属于系统虚拟机,他们完全是对物理计算的仿真, 提供了一个可以运行完整操作系统的软件平台. 程序虚拟机典型代码就是Java虚拟机,它专门为执行单个计算程序而计算,在Java虚拟机中执行的指令我们成为Java 自己码指令.无论是系统虚拟机还是程序虚拟机,在上面运行的软件都被限制于虚拟机提供的资源中

性能测试三十六:内存溢出和JVM常见参数及JVM参数调优

堆内存溢出: 此种溢出,加内存只能缓解问题,不能根除问题,需优化代码堆内存中存在大量对象,这些对象都有被引用,当所有对象占用空间达到堆内存的最大值,就会出现内存溢出OutOfMemory:Java heap space 永久代溢出 如果发生,则是在初始化的时候,空间太小,解决办法,扩大空间类的一些信息,如类名.访问修饰符.字段描述.方法描述等,所占空间大于永久代最大值,就会出现OutOfMemoryError:PermGen space 内存溢出的检测方法:pid=1730 Jdk/bin目录下

【学习】011 JVM参数调优配置

自动内存管理机制 Java虚拟机原理 所谓虚拟机,就是一台虚拟的机器.他是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可以分为 系统虚拟机和程序虚拟机, 大名鼎鼎的Visual Box.Vmare就属于系统虚拟机,他们完全是对物理计算的仿真, 提供了一个可以运行完整操作系统的软件平台. 程序虚拟机典型代码就是Java虚拟机,它专门为执行单个计算程序而计算,在Java虚拟机中执行的指令我们成为Java 自己码指令.无论是系统虚拟机还是程序虚拟机,在上面运行的软件都被限制于虚拟机提供的资源中.

(转)linux下jvm 参数调优

1.基本概念. JAVA_MEM_OPTS=" -server -Xmx2g -Xms2g -Xmn512m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupan

07JVM参数调优-05最后总结

JVM参数调优总结 在JVM启动参数中,可以设置跟内存.垃圾回收相关的一些参数设置,默认情况不做任何设置JVM会工作的很好,但对一些配置很好的Server和具体的应用必须仔细调优才能获得最佳性能.通过设置我们希望达到一些目标: GC的时间足够的小 GC的次数足够的少 发生Full GC(新生代和老年代)的周期足够的长 前两个目前是相悖的,要想GC时间小必须要一个更小的堆,要保证GC次数足够少,必须保证一个更大的堆,我们只能取其平衡.    (1)针对JVM堆的设置,一般可以通过-Xms -Xmx