java虚拟机参数(Java Virtual Machine Arguments)

java虚拟机参数(Java Virtual Machine Arguments)

  • -verbose[:class|gc|jni] :
    在输出设备上显示虚拟机运行信息。
  • -verbose:class
    在程序运行的时候有多少类被加载
  • –verbose:gc
    在虚拟机发生内存回收时在输出设备显示信息,格式如下:
    [Full GC 256K->160K(124096K), 0.0042708 secs] 该参数用来监视虚拟机内存回收的情况。
  • –verbose:jni
    输出native方法调用的相关情况,一般用于诊断jni调用错误信息。
  • -Xmx:
    分配的最大堆内存
  • -Xms:
    分配的最小堆内存,如:-Xmx20M
  • -Xmn:
    分配给新生代内存,如: -Xmn10M
  • -Xss:
    设置虚拟机栈容量

  • -XX:+HeapDumpOnOutOfMemoryError
    该配置会把内存溢出快照保存在user.dir中,比如你用tomcat启动,那应该是在tomcat的bin目录下

  • -XX:HeapDumpPath
    指定快照保存位置,如:/tmp/heapdump.hprof

  • -XX:OnOutOfMemoryError
    OnOutOfMemoryError参数允许用户指定当出现oom时,指定某个脚本来完成一些动作,比如邮件知会
    如:-XX:OnOutOfMemoryError =”sh ~/cleanup.sh”

  • -XX:MaxDirectMemorySize
    分配直接内存DirectMemory,如:-XX:MaxDirectMemorySize=10M

  • -XX:+PrintGCDetail
    打印垃圾回收详细信息。

  • -XX:+PrintGCTimeStamps
    可以了解这些垃圾收集发生的时间,自JVM启动以后以秒计量。
  • -xx:+PrintHeapAtGC
    开关了解堆的更详细的信息。
  • -Xloggc:$CATALINA_BASE/logs/gc.log gc
    日志产生的路径
  • -XX:+PrintGCApplicationStoppedTime
    输出GC造成应用暂停的时间
  • -XX:+PrintGCDateStamps GC
    发生的时间信息
  • -server:
    设置JVM为服务器端模式
  • -client
    设置JVM为客户端模式,与server模式垃圾收集器等其他东西都不同。
  • -XX:+UseSerialGC
    指定JVM垃圾收集器为SerialGCC,在深入理解Java虚拟机3.5.9节有详细说明
  • -XX:PretenureSizeThreshold
    令大于这个设置值的对象直接在老年代分配,而不是先在Eden分配,只对Serial与ParNew两款收集器有用,如:-XX:PretenureSizeThreshold=3145728,代表3M
  • -XX:+PrintFlagsFinal
    参数可查看默认设置收集器类型,如下:
    第三列”=”表示第四列是参数的默认值,而”:=” 表明了参数被用户或者JVM赋值了。

    C:\Users>java -XX:+PrintFlagsFinal
    [Global flags]
    uintx AdaptiveSizeDecrementScaleFactor          = 4                                   {product}
    uintx AdaptiveSizeMajorGCDecayTimeScale         = 10                                  {product}
    uintx AdaptiveSizePausePolicy                   = 0                                   {product}
    bool UseParallelGC                            := true                                {product}
  • -XX:+PrintCommandLineFlags
    这个参数让JVM打印出那些已经被用户或者JVM设置过的详细的XX参数的名称和值。
    即上一个参数中显示为:=的参数
    显示如下:

    C:\Users>java -XX:+PrintCommandLineFlags
    -XX:InitialHeapSize=65305088 -XX:MaxHeapSize=1044881408 -XX:+PrintCommandLineFlags -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:-UseLargePagesIndividualAllocation -XX:+UseParallelGC

eclipse调优

  • -Xverify:none
    在eclipse.ini文件中设置,表示禁止字节码验证过程

猜你喜欢

转载自blog.csdn.net/ncuzengxiebo/article/details/80602026