性能监控调优

1.命令行工具

1.1 jps

查看系统JVM进程
jps [options] [hostid]

  • option

  • hostid:省略则本机,监控远程需要安装jstatd

1.2 jstat

查看JVM统计信息
jstat -

  • option
  • -t:加程序运行时间
  • [-h]:输出设定行数加表头信息
  • :查询间隔时间
  • count:查询总次数
  • 结果:

    当ou上涨趋势时,可能oom

1.3 jinfo

实时查看修改JVM参数
只有标记为manageable的参数才可以被实时修改

  • java -xx:+PrintFlagsFinal -version | grep manageable
    jinfo [option] pid

1.4 jmap

导出内存映像文件和内存使用情况,生成heapdump文件且可以查询finalize执行队列,以及堆和方法区的信息
jmap [option] pid

  • oom时自动导出
    -XX:+HeapDumpOnOutOfMenoryError
    -XX:HeapDumpPath=

1.5 jhat

JDK9删除 使用VisualVM代替
在本地7000端口查看dump文件分析结果
jhat [options] [hostid]

1.6 jstack

生成线程快照,堆栈集合
jstack [optinon] pid

2.JVM监控工具

JDK自带:jconsole VisualVM jmc
三方: MAT JProfiler Arthas Btrace

3.JVM参数

3.1 标准参数类型

所有JVM都要实现的功能

3.2 非标准参数

3.3 非稳定参数

主要用于调优
布尔类型: -XX:+/-

3.3.1 堆栈方法区

3.3.2 OOM相关

3.3.3 GC相关

  • Parallel

  • CMS

  • G1

  • 日志

3.4 配置

java -Xms128m -jar demo.jar

posted @ 2024-07-06 17:54  lwx_R  阅读(1)  评论(0编辑  收藏  举报