JVM监控使用
2015-12-13 19:48
453 查看
下面内容出自‘深入理解JAVA虚拟机’一书
jps JVM Process Status Tool,显示指定系统内所在的HotSpot虚拟机进程
jstat JVM Statistics Monitoring Tool,显示收集HotSpot虚拟机各方面的运行数据
jinfo Configuration Info for Java,显示虚拟机配置信息
jmap memory Map for JAVA,生成虚拟机的内存转储快照(heapdump文件)
jhat JVM Heap Dump Browser,用于分析heapdump文件,不过一般使用MAT等工具
jstack Stack Trace for JAVA,显示虚拟机的线程快照
参数说明:
jps 一般用来查看JAVA程序进程号
-q 只输出本地虚拟机唯一ID
-m 输出虚拟机进程启动时传递给主类main方法的参数
-l 输出主类全名,如果进程执行的是jar包,则输出jar包路径
-v 输出虚拟机启动时JVM参数
jstat 监视JVM运行状态,显示类装载、内存、垃圾收集、JIT编译等信息
命令格式:jstat -option vmid interval count
-class 类装载、卸载数量、装载所费时间
-gc 显示堆状况,包括Eden区、2个survivor区、老年代、永久代容量、已用空间、GC时间
-gccapacity 输出主要关注JAVA堆各个区域使用到的最大和最小空间
-gcutil 输出已使用空间占总空间的百分比
-gccause 与gcutil类似,但会额外输出上一次GC产生的原因
-gcnew 新生代GC状况
-gcnewcapacity 新生代的最大和最小空间
-gcold 老年代GC状况
-gcoldcapacity 老年代使用的最大和最小空间
-gcpermcapacity 永久代使用的最大和最小空间
jinfo实时查看和调整虚拟机的各项参数
命令格式:jinfo -option pid
jmap 用于生成堆转储快照(或者kill -3)
命令格式:jmap -option pid
-dump -dump:[live,]format=b,file=<filename>,live只dump出存活对象,只在linux/Solaris平台下有效
-hep 显示使用哪种回收器、参数配置、分代状况等,只在linux/Solaris平台下有效
-histo 显示堆中对象统计信息,包括类、实例数量、合计容量
jhat不写了。
jstack 虚拟机当前线程快照(称为threaddump或javacore文件),可以定位线程长时间停顿原因,如
死锁、死循环、请求外部资源导致长时间等待
命令格式:
jstack -option vmid
参数有-F -l -m
附
JVM参数设置方式:
-XX:+<option>开启option参数
-XX:-<option>关闭option参数
-XX:-<option>=<value>赋值
列两个参数及对应意思:
SurvivorRatio 默认为8,新生代中Eden区域与Survivor区域的容量比
PretenureSizeThreshold 无默认值,直接进到老年代的对象大小,大于这个参数的对象将直接在老年人分配
MaxTenuringThreshold 默认值为15,每个对象在经历过一次Minor GC,年龄就增1,当超过这个参数值时就
进入老年代
MaxPermSize 一般默认为48MB,永久代最大值
jps JVM Process Status Tool,显示指定系统内所在的HotSpot虚拟机进程
jstat JVM Statistics Monitoring Tool,显示收集HotSpot虚拟机各方面的运行数据
jinfo Configuration Info for Java,显示虚拟机配置信息
jmap memory Map for JAVA,生成虚拟机的内存转储快照(heapdump文件)
jhat JVM Heap Dump Browser,用于分析heapdump文件,不过一般使用MAT等工具
jstack Stack Trace for JAVA,显示虚拟机的线程快照
参数说明:
jps 一般用来查看JAVA程序进程号
-q 只输出本地虚拟机唯一ID
-m 输出虚拟机进程启动时传递给主类main方法的参数
-l 输出主类全名,如果进程执行的是jar包,则输出jar包路径
-v 输出虚拟机启动时JVM参数
jstat 监视JVM运行状态,显示类装载、内存、垃圾收集、JIT编译等信息
命令格式:jstat -option vmid interval count
-class 类装载、卸载数量、装载所费时间
-gc 显示堆状况,包括Eden区、2个survivor区、老年代、永久代容量、已用空间、GC时间
-gccapacity 输出主要关注JAVA堆各个区域使用到的最大和最小空间
-gcutil 输出已使用空间占总空间的百分比
-gccause 与gcutil类似,但会额外输出上一次GC产生的原因
-gcnew 新生代GC状况
-gcnewcapacity 新生代的最大和最小空间
-gcold 老年代GC状况
-gcoldcapacity 老年代使用的最大和最小空间
-gcpermcapacity 永久代使用的最大和最小空间
jinfo实时查看和调整虚拟机的各项参数
命令格式:jinfo -option pid
jmap 用于生成堆转储快照(或者kill -3)
命令格式:jmap -option pid
-dump -dump:[live,]format=b,file=<filename>,live只dump出存活对象,只在linux/Solaris平台下有效
-hep 显示使用哪种回收器、参数配置、分代状况等,只在linux/Solaris平台下有效
-histo 显示堆中对象统计信息,包括类、实例数量、合计容量
jhat不写了。
jstack 虚拟机当前线程快照(称为threaddump或javacore文件),可以定位线程长时间停顿原因,如
死锁、死循环、请求外部资源导致长时间等待
命令格式:
jstack -option vmid
参数有-F -l -m
附
JVM参数设置方式:
-XX:+<option>开启option参数
-XX:-<option>关闭option参数
-XX:-<option>=<value>赋值
列两个参数及对应意思:
SurvivorRatio 默认为8,新生代中Eden区域与Survivor区域的容量比
PretenureSizeThreshold 无默认值,直接进到老年代的对象大小,大于这个参数的对象将直接在老年人分配
MaxTenuringThreshold 默认值为15,每个对象在经历过一次Minor GC,年龄就增1,当超过这个参数值时就
进入老年代
MaxPermSize 一般默认为48MB,永久代最大值
相关文章推荐
- 构建shell基本脚本
- 在windows下使用linux的开发环境
- Linux Shell之declare命令
- openstack controller ha测试环境搭建记录(五)——配置rabbitmq集群
- Linux权限管理
- uva 242——Stamps and Envelope Size
- Tomcat设置默认启动项目及Java Web工程设置默认启动页面
- OpenJudge_P4976 硬币(DP+数论+容斥原理)
- Linux进程间通信——使用信号量
- Tomcat server.xml配置示例
- OpenGL多重采样的初始化问题
- 远程调试Hadoop
- VMware中centos上网教程
- CentOS 6.4安装(超级详细图解教程)
- macbook连接linuxserver后不显示matlab桌面[问题]
- Linux下学习python编程
- 初学linux的用户和权限管理
- ubuntu上Apache+mod_wsgi的Django的部署
- Nginx常用功能详解
- 搭建Nginx+Java环境