JVM常用命令

  1. JVM常用命令

jps显示系统中所有Hotspot虚拟机进程
jstat收集Hotspot虚拟机各方面运行数据
jstack显示虚拟机的线程的栈信息
jinfo显示和修改虚拟机的各项配置信息
jmap生成虚拟机的堆内存的快照信息,查询finalize执行队列,Java堆和永久代详细信息
javap查看经javac之后产生的JVM字节码代码
jcmd一个多功能工具,可以用来导出堆,查看java进程,导出线程信息,执行GC、查看性能相关数据
jconsole基于JMX的可视化监视、管理工具
jvisualvmJDK中最强大运行监视和故障处理工具

(1). jps命令
   JVM Process Status Tool,该命令用于列出正在运行的虚拟机进程,显示main类的名称和虚拟机进程id。该命令受当前用户的访问权限影响,比如linux下非root用户只列出当前用户启动的虚拟机进程。
常用参数:

-l输出主类全名
-v输出虚拟机进程启动的jvm参数
-m输出启动时传递给main函数的参数

(2). jstack命令
  用于生成虚拟机当前的线程快照信息,包含每一条线程的堆栈信息。该命令通常用于定位线程停顿原因,当出现线程停顿时,可通过stack查看每个线程的堆栈信息,进而分析停顿原因。
常用参数:

-l除堆栈外,显示锁的附加信息
-F当请求不被响应时,强制输出线程堆栈
-m混合模式,打印java和本地C++调用的堆栈信息

(3). jstat命令
  用于监控各种运行状态信息的命令。在只有文本控制台的环境中(如企业中的生产环境),该工具非常有用。 可以用来显示系统中类装载、垃圾回收、运行期编译状况等运行数据。
常用参数:

class类装载相关信息.
compilerJIT编译器编译过的方法、耗时等.
gcjava堆信息和垃圾回收状况.
gccapacity关注java堆各个区的最大和最小空间.
gccause类似gcutil,额外输出导致上一次gc的原因.
gcnew新生代gc状况.
gcnewcapacity关注新生代gc使用的最大和最小空间.
gcold老年代gc状况.
gcoldcapacity关注老年代gc使用的最大和最小空间.
gcpermcapacity关注持久代gc使用的最大和最小空间.
gcutil关注已使用空间占总空间比例.
printcompilation输出已经被JIT编译的方法.

(4). jinfo命令
  用于查看和修改虚拟机的各项参数信息

(5). jmap命令
  可以产生堆dump文件,查询堆和持久代的详细信息等。
常用参数:

-dump生成堆dump文件,格式为: -dump:[live,]format=b,file=<filename>
-heap显示java堆的详细信息,包括垃圾回收期、堆配置和分代信息等
-histo显示堆中对象的统计信息,包括类名称,对应的实例数量和总容量
-permstat统计持久代中各ClassLoader的统计信息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值