zoukankan      html  css  js  c++  java
  • JVM相关

    jstat

    jstat -gcutil
    jstat -gcutil 28589 10000 30 #各分区情况,注意YGCT是否较大
    jstat -gc 28589 1s 1 查看MU,可见永久带(变量)占用多大内存

    Refer to

    http://blog.csdn.net/zhaozheng7758/article/details/8623549

    Javap 字节码查看

    javap -c xxx.class

    dump

    jmap -dump:format=b,file=dumpFileName.hprof PID
    jmap -dump:live,format=b,file=dumpFileName.hprof PID
    通过MAT工具进行分析

    jps

    jps #查看服务进程号

    jmap

    jmap -histo:live 8697|head -n 23
    jmap -histo:live 28589 >> /var/tmp/jmap17.txt #java对象分析
    jmap -heap 18181 > heap$(date +%y%m%d%k%M%S).txt,保存heap(堆)信息

    性能参考

    Minor GC执行时间(小于50ms)
    Minor GC执行不频繁(大概10秒一次)
    Full GC执行时间(小于1s)
    Full GC执行不频繁(10分钟一次)

    目标

    • GC的时间足够的小
    • GC的次数足够的少
    • 发生Full GC的周期足够的长

    JVM调优的原则

    • 多数的Java应用不需要在服务器上进行GC优化;
    • 多数导致GC问题的Java应用,都不是因为我们参数设置错误,而是代码问题;
    • 在应用上线之前,先考虑将机器的JVM参数设置到最优(最适合);
    • 减少创建对象的数量;
    • 减少使用全局变量和大对象;
    • GC优化是到最后不得已才采用的手段;
    • 在实际使用中,分析GC情况优化代码比优化GC参数要多得多;

    收集器

    • Serial收集器(单线程,基本不用)
    • ParNew收集器(多与CMS配合使用)
    • CMS(Concurrent Mark Sweep)收集器
    • G1(Garbage First)收集器

    CMS参数

    -XX:+UseConcMarkSweepGC
    -XX:UseParNewGC
    -XX:CMSInitiatingOccupancyFraction
    -XX:+UseCMSCompactAtFullCollection
    -XX:CMSFullGCsBeforeCompaction
    -XX:+CMSClassUnloadingEnabled
    -Xms
    -Xmx
    -Xmn
    -Xss
    -XX:MetaspaceSize
    -XX:MaxMetaspaceSize

    G1参数

    -XX:G1HeapRegionSiz
    -XX:MaxGCPauseMillis
    -XX:G1NewSizePercent
    -XX:G1MaxNewSizePercent
    -XX:ParallelGCThreads
    -XX:ConcGCThreads
    -XX:+UseG1GC

    LOG参数

    -XX:+PrintGC
    -XX:+PrintGCDetails
    -XX:+PrintGCTimeStamps
    -XX:+PrintGCApplicationStoppedTime
    -Xloggc:<filename>

  • 相关阅读:
    windows安装nacos
    anki处理
    minikube安装net5
    在.net core中使用属性注入
    C# 使用MD5算法对密码进行加密
    c# 获取本机系统已经安装的打印机信息
    C# 比较两个datatable并找出修改差异的值
    打印机点击打印后无反应
    GUID转换成16位字符串或19位数据(确保唯一)
    RESTful
  • 原文地址:https://www.cnblogs.com/liehen2046/p/12176675.html
Copyright © 2011-2022 走看看