zoukankan      html  css  js  c++  java
  • JVM 常用参数

    跟踪垃圾回收

    -XX:PrintGC

    -XX:+PrintGCDetails 更详细的信息,新生代GC还是老生代GC,永久区的GC,gc的时间


    Heap

    PSYoungGen total 76288K, used 1311K [0x000000076ab00000, 0x0000000770000000, 0x00000007c0000000)

    eden space 65536K, 2% used [0x000000076ab00000,0x000000076ac47c58,0x000000076eb00000)

    from space 10752K, 0% used [0x000000076f580000,0x000000076f580000,0x0000000770000000)

    to space 10752K, 0% used [0x000000076eb00000,0x000000076eb00000,0x000000076f580000)

    ParOldGen total 175104K, used 478K [0x00000006c0000000, 0x00000006cab00000, 0x000000076ab00000)

    object space 175104K, 0% used [0x00000006c0000000,0x00000006c0077b80,0x00000006cab00000)

    Metaspace used 2777K, capacity 4486K, committed 4864K, reserved 1056768K

    class space used 299K, capacity 386K, committed 512K, reserved 1048576K

    -XX:+PrintHeapAtGC : 每次gc前后分别打印堆信息

    -XX:+PrintGCTimeStamps 分析gc发生的时间,在每次gc时额外输出gc发生的时间

    -XX:+PrintGCApplicationConcurrentTime 由于gc会引起应用程序停顿,特别关注app的执行时间

    -XX:+PrintGCApplicationStoppedTime 停顿时间

    -XX:+PrintReferenceGC 跟踪系统软引用,弱引用,Finallize队列

    -Xloggc:log/gc/log 默认gc日志控制台输出,该参数指定写入日志文件

    类加载和卸载的跟踪

    -verbose:class 跟踪类的加载和卸载 ,最后一次加载的类没有机会被卸载

    -XX:TraceClassLoading 单独跟踪类的加载

    -XX:TraceClassUnloading 跟踪类的卸载

    -XX:+PrintClassHistogram 运行时打印和查看系统类的分布情况

    系统参数查看

    -XX:+PrintVMOptions 打印虚拟机接收到的命令行显示参数

    -XX:+PrintCommandLineFlags 包含显示指定和虚拟机自行设置的参数

    -XX:+PrintFlagsFinal 打印系统所有的参数值

    让性能飞起来 :堆的配置参数

    -Xms 初始堆的大小

    -Xmx 最大堆

    实际最大可用内存(与-Xmx存在偏差) = -Xmx最大内存 - from区的大小 (垃圾回收空间换时间的算法)

    设置-Xms和-Xmx大小相等,可以减少gc的次数

    新生代配置

    -XX:SurvivsorRatio 设置新生代eden和from/to的比例关系 : eden/from = eden/to

    -Xmn 年轻代大小

    基本配置策略:尽可能将对象预留在新生代,减少老年代GC的次数

    ## 其他参数
    (1)最高优先级: -XX:NewSize=1024m和-XX:MaxNewSize=1024m
    (2)次高优先级: -Xmn1024m (默认等效效果是:-XX:NewSize==-XX:MaxNewSize==1024m)
    (3)最低优先级:-XX:NewRatio=2

    -XX:NewRatio 新生代和老年代的比例

    堆溢出处理

    -XX:HeapDumpOnOutOfMemoryError 在内存溢出时导出整个堆信息

    -XX:HeapDumpPath=./a.dump 导出堆信息的路径

    -XX:OnOutOfMemoryError=脚本文件 在内存溢出时执行脚本(可以是导出java线程信息)

    非堆内存的参数配置

    方法区

    jdk1.6和1.7

    -XX:PermSize

    -XX:MaxPermSize

    jdk1.8

    -XX:MaxMetaspaceSize

    -Xss

    直接内存

    -XX:MaxDirectMemorySize 最大可用直接内存,默认值为最大堆空间

    直接内存适合申请次数少,访问较为频繁的场合,如果内存空间本身需要频繁申请,并不适合使用直接内存。

    虚拟机的工作模式 :Server 和Client

    -client

    -server : 64位操作系统更倾向于使用server模式


    java -version

    java -client -version

    java -server -version

    两种模式下,可使用-XX:PrintFlagsFinal对比两种模式下参数的差异

  • 相关阅读:
    python中取列表的后半部分元素
    python中列表分片
    python中统计列表中元素出现的次数
    python中range()函数用法
    pyhton中实现列表元素顺序颠倒
    python中列表元素求交集和并集
    python中编写抽奖小游戏
    python中删除列表元素
    python中列表的去重复和取重复
    欲为Java技术大牛所需的25个学习要点
  • 原文地址:https://www.cnblogs.com/fubinhnust/p/11956013.html
Copyright © 2011-2022 走看看