您的位置 首页 > 数码极客

〔如何查看几小时前的javacore〕如何查看手机使用了多少小时

一、jps(JVM Process Status Tool)

描述

jps命令使用率最高,常用命令。可用于查询正在运行的虚拟机进程,同时可选择性的显示虚拟机执行主类,即执行main函数的类,以及进程的本地虚拟机ID。

LVMID(Local Virtual Machine Identifier) 本机虚拟机唯一ID

对于本机虚拟机进程来说,LVMID与操作系统的进程ID(PID,Process Identifier)是一致的。如果同时启动了多个虚拟机进程。

jps命令格式如下

jps [options] [hostid]

jps可以通过RMI协议查询开启了RMI服务的远程虚拟机进程状态,hostid为RMI注册表中注册主机名。

示例

列出远程服务器192.168.0.77机器所有的jvm实例,采用rmi协议,默认连接端口为1099

jps 192.168.0.77

参数说明

-q 只输出LVMID,省略主类的名称。

-m 输出虚拟机进程启动时传递给主类mian()函数的参数。

-l 输出主类的全名,如果进程执行的是jar包,输出jar路径。

-v 输出虚拟机进程启动时JVM参数。


二、 jstat(JVM Statistics Monitoring Tool)

描述

Linux下特有,常用命令。可用于显示本地或远程虚拟机进程中的类装载 ,内存,垃圾收集,JIT编译等运行数据。

命令格式

jstat vmid [interval[s|ms]] [count] ]

其中若查询的是本地虚拟机进程,VMID与LVMID是一致的,如果是远程虚拟机进程VMID的格式为:

[protocol:][//] lvmind[@hostname [:port] /servername]

示例

-class 每隔1秒监控一次,一共做10次。

jstat -class 2083 1000 10

-gc 每隔2秒监控一次,共做10。

jstat -gc 2083 2000 20

-gccause 每隔5秒监控一次

jstat -gccause 2083 5000

参数说明

-class 统计class loader行为信息

-compile 统计编译行为信息

-gc 统计jdk gc时heap信息

-gccapacity 统计不同的generations(包括新生区,方法区)相应的heap容量情况

-gccause 统计gc的情况,(同-gcutil)和引起gc的事件

-gcnew 统计gc时,新生代的情况

-gcnewcapacity 统计gc时,新生代heap容量

-gcold 统计gc时,老年区的情况

-gcoldcapacity 统计gc时,老年区heap容量

-gcpermcapacity 统计gc时,permanent区heap容量

-gcutil 统计gc时,heap情况

-printcompilation


三、jinfo(Configuration Info for Java)

描述

Linux下特有。用于查看和调整虚拟机的配置参数。

命令格式

jinfo [option] pid

示例

其中2083就是java进程id号,可以用jps得到这个id号。

jinfo -flag 2083

参数说明

-flags 查询线程的参数


四、 jmap(Memory Map for Java)

描述

Linux下特有,常用命令。用于获取heapdump文件,且可以查询finalize执行队列,Java堆与永久代的一些信息。

命令格式

jmap [option] vmid

示例

观察New Generation(Eden Space,From Space,To Space),tenured generation,Perm Generation的内存使用情况

jmap -heap 2083

观察heap中所有对象的情况(heap中所有生存的对象的情况)。包括对象数量和所占空间大小。

jmap -histo 2083 | jmap -histo:live 2083

查看JVM堆中对象详细占用情况

jmap -histo [pid]

导出整个JVM 中内存信息

jmap -dump:format=b,file=fileName [pid]

参数说明

-dump 生成Java堆转储快照

-finalizerinfo 显示在F-Queue中等待Finalizer线程执行finalize方法的对象

-heap 显示Java堆详细信息,如使用哪种回收器,参数配置,分代状况等

-histo 打印jvm heap的直方图。其输出信息包括类名,对象数量,对象占用大小

-histo:live 同上,但是只答应存活对象的情况

-permstat 打印permanent generation heap情况


五、 jhat(JVM Heap Analysis Tool)

描述

在实际场景中,一般不会用jhat命令直接分析dump文件。jhat命令与jmap命令搭配使用,用于分析jmap生成的堆转储快照,jhat内置了一个微型的HTTP/HTML服务器,生成dump文件的分析结果后,可以在浏览器中查看。

命令格式

jhat headdumpFileName

六、jstack(Stack Trace for Java)

描述

Linux下特有,Java堆栈跟踪工具。jstack命令用于生成虚拟机当前快照(一般称为threaddump或javacore文件),线程快照就是当前虚拟机内每一条线程执行的方法堆栈的集合。

问题定位

死锁,死循环,外部资源请求导致长时间等待。

命令格式

jstack [options] vmid

示例

查看LVMID为3000堆栈信息。

jstack -l 3000

参数说明

-f 当正常输出的请求不被响应时,强制输出线程栈

-l 除堆栈外,显示关于锁的附加信息

-m 如果调用到本地方法,可以显示C/C++的堆栈信息

大家好,我是Wooola,10年JAVA老兵,擅长微服务,分布式,并发,工作流。请大家多多关注我。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何查看几小时前的javacore,如何查看手机使用了多少小时,如何查看24小时,如何查看几小时前的天气,如何查看小时天气”边界阅读