zoukankan      html  css  js  c++  java
  • java虚拟机05(Java虚拟机的参数)

    原文在此

    (1)-Xms20M

    表示设置堆容量的最小值为20M,必须以M为单位

    (2)-Xmx20M

    表示设置堆容量的最大值为20M,必须以M为单位。将-Xmx和-Xms设置为一样可以避免堆自动扩展。大的项目-Xmx和-Xms一般都要设置到10G、20G甚至还要高

    (3)-verbose:gc

    表示输出虚拟机中GC的详细情况

    (4)-Xss128k

    表示可以设置虚拟机栈的大小为128k

    (5)-Xoss128k

    表示设置本地方法栈的大小为128k。不过HotSpot并不区分虚拟机栈和本地方法栈,因此对于HotSpot来说这个参数是无效的

    (6)-XX:PermSize=10M

    表示JVM初始分配的永久代的容量,必须以M为单位

    (7)-XX:MaxPermSize=10M

    表示JVM允许分配的永久代的最大容量,必须以M为单位,大部分情况下这个参数默认为64M

    (8)-Xnoclassgc

    表示关闭JVM对类的垃圾回收

    (9)-XX:+TraceClassLoading

    表示查看类的加载信息

    (10)-XX:+TraceClassUnLoading

    表示查看类的卸载信息

    (11)-XX:NewRatio=4

    表示设置年轻代:老年代的大小比值为1:4,这意味着年轻代占整个堆的1/5


    For example, setting -XX:NewRatio=3 means that the ratio between the old and young generation is 1:3, the combined size of eden and the survivor spaces will be fourth of the heap.

    英文后半句说的很明白了,年轻代占四分之一的堆空间。
    也就是说-XX:NewRatio=n,表示的是
    年轻代:老年代= 1:n
    或者
    老年代:年轻代 = n:1

    说不定一会又忘了,可以记作:NewRatio的值是的倒数才是年轻比老年代的值,因为老外数学差。

    参考


    (12)-XX:SurvivorRatio=8

    表示设置2个Survivor区:1个Eden区的大小比值为2:8,这意味着Survivor区占整个年轻代的1/5,这个参数默认为8


    For example, -XX:SurvivorRatio=6 sets the ratio between each survivor space and eden to be 1:6, each survivor space will be one eighth of the young generation.

    通过理解整句话,可以知道 -XX:SurvivorRatio=n,表示的是:
    survivor 1 : eden = 1: 6
    survivor 2 : eden = 1: 6
    survivor 1+2 : eden = 2: 6
    survivor:yong = 2:8

    说不定一会又忘了,可以记作:SurvivorRatio的值是的倒数才是一个survivor比Eden的值,因为老外数学差。

    参考


    (13)-Xmn20M

    表示设置年轻代的大小为20M

    (14)-XX:+HeapDumpOnOutOfMemoryError

    表示可以让虚拟机在出现内存溢出异常时Dump出当前的堆内存转储快照

    (15)-XX:+UseG1GC

    表示让JVM使用G1垃圾收集器

    (16)-XX:+PrintGCDetails

    表示在控制台上打印出GC具体细节

    (17)-XX:+PrintGC

    表示在控制台上打印出GC信息

    (18)-XX:PretenureSizeThreshold=3145728

    表示对象大于3145728(3M)时直接进入老年代分配,这里只能以字节作为单位

    (19)-XX:MaxTenuringThreshold=1

    表示对象年龄大于1,自动进入老年代

    (20)-XX:CompileThreshold=1000

    表示一个方法被调用1000次之后,会被认为是热点代码,并触发即时编译

    (21)-XX:+PrintHeapAtGC

    表示可以看到每次GC前后堆内存布局

    (22)-XX:+PrintTLAB

    表示可以看到TLAB的使用情况

    (23)-XX:+UseSpining

    开启自旋锁

    (24)-XX:PreBlockSpin

    更改自旋锁的自旋次数,使用这个参数必须先开启自旋锁

  • 相关阅读:
    SSH
    Maven仓库
    java中的代理
    R 语言基本操作(基本信息的查看、与本地文件系统交互、编译器版本升级)
    R 语言基本操作(基本信息的查看、与本地文件系统交互、编译器版本升级)
    软件的版本命名管理
    软件的版本命名管理
    递归缩写
    递归缩写
    开源软件的许可(License)
  • 原文地址:https://www.cnblogs.com/blbl9527/p/7629779.html
Copyright © 2011-2022 走看看