java jvm如何调优:Java性能调优学习 二 -jinfo
java jvm如何调优:Java性能调优学习 二 -jinfo查看全部参数例1:查看指定Java进程的全部参数pid: 对应jvm的进程id executable core: 产生core dump文件 [server-id@]remote-hostname-or-IP: 远程的ip或者hostname,server-id标记服务的唯一性id option列表:no option 输出全部的参数和系统属性 -flag name 输出对应名称的参数 -flag [ |-]name 开启或者关闭对应名称的参数 -flag name=value 设定对应名称的参数 -flags 输出全部的参数 -sysprops 输出系统属性 实际场景:有时候我们需要查看指定Java进程的全部参数或者指定参数,这个时候我们就可以使用jps jinfo命令来查看具体Java进程的参数。
上一节认识了JVM参数和jps命令的使用,这一节来学习下jinfo,jstat,jmap的使用,话不多说,开始。
jinfo功能描述: jinfo也是jvm中的一个命令,可以查看运行中jvm的全部参数,还可以设置部分参数。
格式:
`jinfo [ option ] pid` `jinfo [ option ] executable core` `jinfo [ option ] [server-id@]remote-hostname-or-IP`
参数说明:
pid: 对应jvm的进程id executable core: 产生core dump文件 [server-id@]remote-hostname-or-IP: 远程的ip或者hostname,server-id标记服务的唯一性id
option列表:
no option 输出全部的参数和系统属性 -flag name 输出对应名称的参数 -flag [ |-]name 开启或者关闭对应名称的参数 -flag name=value 设定对应名称的参数 -flags 输出全部的参数 -sysprops 输出系统属性
实际场景:
有时候我们需要查看指定Java进程的全部参数或者指定参数,这个时候我们就可以使用jps jinfo命令来查看具体Java进程的参数。
例1:查看指定Java进程的全部参数
查看全部参数
例2:查看指定Java进程的最大内存
查看最大内存
jstat功能描述:jstat也是jvm中的一个命令,jstat可以查看JVM统计信息:类加载,垃圾收集,JIT编译。
格式:
jstat
参数说明:
-t: 可以在打印的列加上Timestamp列,用于显示系统运行的时间 -h: 可以在周期性数据数据的时候,可以在指定输出多少行以后输出一次表头 vmid: Virtual Machine ID( 进程的 pid) interval: 执行每次的间隔时间,单位为毫秒 count: 用于指定输出多少次记录,缺省则会一直打印 option: 具体信息的类型
option列表:
-class 显示ClassLoad的相关信息; -compiler 显示JIT编译的相关信息; -gc 显示和gc相关的堆信息; -gccapacity 显示各个代的容量以及使用情况; -gcmetacapacity 显示metaspace的大小 -gcnew 显示新生代信息; -gcnewcapacity 显示新生代大小和使用情况; -gcold 显示老年代和永久代的信息; -gcoldcapacity 显示老年代的大小; -gcutil 显示垃圾收集信息; -gccause 显示垃圾回收的相关信息(通-gcutil) 同时显示最后一次或当前正在发生的垃圾回收的诱因; -printcompilation 输出JIT编译的方法信息;
实际场景:
有时候我们想要看到指定Java进程的JVM统计信息,这个时候就可以使用jps jstat来完成。
例1:每隔1秒显示加载class的数量,及所占空间等信息,输出10次