美文网首页
性能监控与调优

性能监控与调优

作者: 八颗小牙坏脾气 | 来源:发表于2018-11-25 14:47 被阅读0次

    JVM的参数类型

    标准参数

    -help
    -server -client
    -version -showversion
    -cp - classpath
    

    X参数

    -Xint:解释执行
    -Xcomp:第一次使用就编译本地代码
    -Xmixed:混合模式,JVM自己决定是否要编译成本地代码
    

    XX参数

    *  Boolean 类型
    格式:-XX:[+-] name表示启用或者禁用name属性
    比如:-XX:+UseConcMarkSweepGC
    -XX:+UseG1GC
    *  非Boolean类型
    格式: -XX:<name> = <value>
    比如:-XX:MaxGCPauseMills=500
    -XX:GCTimeRadio=19
    

    运行时JVM参数查看

    -XX:+PrintFlagsInitial
    -XX:PrintFlagsFinal
    * jps & ps
    jps -l
    * jinfo
    jinfo -flags pid 
    jinfo -flag MaxHeapSize pid 查看最大内存
    jinfo -flag UseG1GC pid   查看垃圾回收器
    

    jstat查询虚拟机统计信息

    jstat -class pid 1000 10
    jstat -gc pid 1000 10
    
    JVM内存结构

    如何导出内存影像文件
    1.内存溢出自动导出
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:HeapDumpPath=./
    2.使用jmap命令手动导出
    jmap -dump:format=b,file=dump.hprof pid

    jmap + MAT实战内存溢出

    常用查看 对象数量,对象的引用

    jstack(打印线程)实战死循环与死锁

    1.CPU飙升
      top 查看负载,如果负载过大,新的请求就接入不进来了
      实战:jstack pid > a.txt   
                sz a.txt 下载到本地
      ** top -p  pid -H ** 
      printf "%x" pid
      去文件a.txt中查找对应的16进制数据
    
    2.死锁
    
    

    相关文章

      网友评论

          本文标题:性能监控与调优

          本文链接:https://www.haomeiwen.com/subject/xenuqqtx.html