JVM参数配置
JVM参数配置,主要是3种表示方法
标准参数(-):所有的JVM实现都必须要实现这些功能的参数,存在向后兼容
非标准参数(-X):默认JVM实现这些功能参数,不能保证所有的JVM实现都满足。不能保证兼容
非stable参数(-XX):各个居民实现上会有不同,将来可能会随时取消,谨慎使用
Java命令
Java命令被存放在JDK安装目录的bin目录中
JPS:显示所有的java进程pid
JPS(Java Virtual Machine Process Status Tool)是JDK1.5提供的一个显示当前所有的Java进程pid的命令。
类似于unix/linux平台下的ps命令
参数介绍:
-q :只展示进程ID,不在显示class名称,jar文件名和传递给main的方法参数
-m:输出包含传递给main方法的参数
-l:输出java进程的main方法所在类的类全路径
-V:输出传递给jvm的参数
常用示例:
jps :显示当前用户的所有Java进程的pid
jps -v :显示虚拟机的参数
jinfo:实时查看和调整虚拟机的参数
包含Java的系统参数和命令行参数
由于打印的是JVM常用信息可以使用jps,在JDK的后续版本中可能不在支持该命令(JDK8中不支持该命令)
jstat:监控虚拟机各种运行状态
jstat(JVM Statistics Monitring Tool)用户监控虚拟机各种运行状态信息的命令行工具
利用JVM内置的指令对java程序的资源和性能进行实时的命令行监控,查看堆大小,以及垃圾回收等信息,是一个轻量级、针对jvm的命令行工具
jstat - [-t] [-h] [ []]
参数解释:
option:选项,
vmid:VM进程号
interval:间隔时间 单位是秒或者毫秒
count:打印次数,如果缺省则打印无数次
interval和count如果不设置,默认值查询一次
option:
选项option代表这用户希望查询的虚拟机信息,主要分为3类:类装载、垃圾收集和运行期编译状况,具体选项及作用如下:
–class 监视类装载、卸载数量、总空间及类装载所耗费的时间 –gc
监视Java堆状况,包括Eden区、2个Survivor区、老年代、永久代等的容量 –gccapacity
监视内容与-gc基本相同,但输出主要关注Java堆各个区域使用到的最大和最小空间 –gcutil
监视内容与-gc基本相同,但输出主要关注已使用空间占总空间的百分比–gccause
与-gcutil功能一样,但是会额外输出导致上一次GC产生的原因 –gcnew 监视新生代GC的状况 –gcnewcapacity
监视内容与-gcnew基本相同,输出主要关注使用到的最大和最小空间 –gcold 监视老年代GC的状况 –gcoldcapacity
监视内容与——gcold基本相同,输出主要关注使用到的最大和最小空间 –gcpermcapacity 输出永久代使用到的最大和最小空间
–compiler 输出JIT编译器编译过的方法、耗时等信息 –printcompilation 输出已经被JIT编译的方法