企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
jstat用于见识虚拟机各种运行状态信息的命令行工具,它可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据,在没有GUI图形界面,只提供了存文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的首选工具; jstat命令格式:jstat option vmid interval(s|ms) count option:代表虚拟机需要查询的虚拟机信息,主要分为3类:类装载,垃圾收集和运行期编译状况; vmid:虚拟机进程id,如果是本地虚拟机进程,VMID与lvmid是一直的,如果是远程虚拟机进程,那vmid格式为 protocol://lvmid[@hostname[:port]/servername]; interval:查询间隔,隔多少秒/毫秒查询一次; count:查询次数; 如果省略interval和count则表示只查询一次; 例如:jstat -gc 16381 10 2 表示每10毫秒查询一次进程16381的gc情况,总共查询2次; option: | option | 说明 | | -------- |:------:| | -class | 监视类装载、卸载数量、总空间以及类装载所耗费的时间 | | -gc | 监视Java堆状况,包括Eden区、两个servivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息| | -gccapacity | 监视内容与-gc基本相同,但输出主要关注Java堆各个区域使用到的最大、最小空间 | | -gcutil | 监视内容与-gc基本相同,但输出主要关注已使用空间占总空间的百分比| | -gccause | 与-gcutil功能一样,但是会额外输出导致上一次GC产生的原因| | -gcnew | 监视新生代gc状况 | | -gcnewcapacity| 监视内容与-gcnew基本相同,输出主要关注使用到的最大、最小空间 | | -gcold | 监视老年代gc状况 | | -gcoldcapacity | 监视内容与-gcold基本相同,输出主要关注使用到的最大、最小空间 | | -gcpermcapacity | 输出永久代使用高的最大、最小空间 | | -compiler | 输出JIT编译器编译过的方法、耗时等信息 | | -printcompilation | 输出已经被JIT编译的方法 | 输出的各个参数描述信息可参考:http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jstat.html#class_option