jcmd命令笔记

news/2024/7/24 3:54:26 标签: 命令模式

文章目录

      • GC.class_stats
      • jcmd 25274 Thread.print
      • jcmd 25274 GC.run
    • 其他
      • 文档(命令行)

jcmd是一款命令行工具,可以监控jvm虚拟机性能和诊断问题。

GC.class_stats

如果报错:
GC.class_stats command requires -XX:+UnlockDiagnosticVMOptions

在启动脚本中添加参数:
-XX:+UnlockDiagnosticVMOptions

内容太多了,只选前10换行吧
jcmd 25274 GC.class_stats | head

25274:
Index Super InstBytes KlassBytes annotations    CpAll MethodCount Bytecodes MethodAll    ROAll    RWAll    Total ClassName
    1    -1  12764600        480           0        0           0         0         0       24      584      608 [C
    2 10302   5398800       1112           0     5600          40       847     20904     4224    24072    28296 java.lang.reflect.Method
    3    18   3961152        568           0     1376           8       223      1744     1032     2976     4008 java.util.concurrent.ConcurrentHashMap$Node
    4    18   3175992        624           0     8784          94      4623     51968    12144    50312    62456 java.lang.String
    5    18   2488704        632           0     2280          10       248      4760     1640     6400     8040 org.aspectj.weaver.reflect.ShadowMatchImpl

jcmd 25274 Thread.print

也来一段输出吧,根本看不懂。


"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f4b2814b800 nid=0x62cc in Object.wait() [0x00007f4b08513000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
        - locked <0x00000000c03a3948> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:212)

"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f4b28147000 nid=0x62cb in Object.wait() [0x00007f4b08614000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:502)
        at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
        - locked <0x00000000c03a2e88> (a java.lang.ref.Reference$Lock)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

"VM Thread" os_prio=0 tid=0x00007f4b2813f800 nid=0x62ca runnable

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007f4b2801f800 nid=0x62c4 runnable

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007f4b28021000 nid=0x62c6 runnable

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007f4b28023000 nid=0x62c8 runnable

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007f4b28025000 nid=0x62c9 runnable

jcmd 25274 GC.run

对25274进程手动进行垃圾回收。

这个倒是简单,一般都是返回成功。

jcmd 25274 GC.run

返回内容:
25274:
Command executed successfully

怎么感觉只有这个命令能用的上,其他的根本看不懂。

其他

文档(命令行)

这文档可够简洁的。

 jcmd -h
 
Usage: jcmd <pid | main class> <command ...|PerfCounter.print|-f file>
   or: jcmd -l
   or: jcmd -h

  command must be a valid jcmd command for the selected jvm.
  Use the command "help" to see which commands are available.
  If the pid is 0, commands will be sent to all Java processes.
  The main class argument will be used to match (either partially
  or fully) the class used to start Java.
  If no options are given, lists Java processes (same as -p).

  PerfCounter.print display the counters exposed by this process
  -f  read and execute commands from the file
  -l  list JVM processes on the local machine
  -h  this help


http://www.niftyadmin.cn/n/5546936.html

相关文章

鸿蒙开发:Universal Keystore Kit(密钥管理服务)【密钥协商(ArkTS)】

密钥协商(ArkTS) 以协商密钥类型为X25519 256&#xff0c;并密钥仅在HUKS内使用为例&#xff0c;完成密钥协商。 开发步骤 生成密钥 设备A、设备B各自生成一个非对称密钥&#xff0c;具体请参考[密钥生成]或[密钥导入]。 密钥生成时&#xff0c;可指定参数HUKS_TAG_DERIVE…

mysql实战入门-基础篇

目录 1、MySQL概述 1.1、数据库相关概念 1.2、MySQL数据库 1.2.1、版本 1.2.2、下载 1.2.3、安装 输入MySQL中root用户的密码,一定记得记住该密码 1.2.4、启动停止 1.2.5、客户端连接 1.2.6、数据模型 2、SQL 2.1、SQL通用语法 2.2、SQL分类 2.3、DDL 2.3.1、数据…

谷粒商城学习笔记-踩坑合集

1&#xff0c;Idea新增Module报错&#xff1a;sdk ‘1.8‘ type ‘JavaSDK‘ is not registered in ProjectJdkTable 2&#xff0c;IDEA创建Spring项目无法使用Java8的解决方案 3&#xff0c;谷粒商城-记录创建工程和模块时遇到的两个问题 4&#xff0c;谷粒商城学习笔记-使用r…

python拆分Excel数据,自动发邮箱

import pandas as pd import poplib import email from email.header import decode_header from email.parser import Parser df = pd.read_excel("年假明细表.xlsx") depts = df["部门"].unique() for dept in depts: department_df = df[df[&q…

linux之管道重定向

管道与重定向 一、重定向 将原输出结果存储到其他位置的过程 标准输入、标准正确输出、标准错误输出 ​ 进程在运行的过程中根据需要会打开多个文件&#xff0c;每打开一个文件会有一个数字标识。这个标识叫文件描述符。 进程使用文件描述符来管理打开的文件&#xff08;FD--…

探索HTML5的设计原则:引领Web开发的未来方向

随着互联网的飞速发展&#xff0c;HTML5作为Web技术的核心标准之一&#xff0c;不仅极大地丰富了网页的表现力和交互性&#xff0c;还推动了Web应用向更加动态、高效、安全的方向迈进。HTML5的设计原则&#xff0c;体现了对用户体验、内容可访问性、跨平台兼容性以及未来可扩展…

去除Win32 Tab Control控件每个选项卡上的深色对话框背景

一般情况下&#xff0c;我们是用不带边框的对话框来充当Tab Control的每个选项卡的内容的。 例如&#xff0c;主对话框IDD_TABBOX上有一个Tab Control&#xff0c;上面有两个选项卡&#xff0c;第一个选项卡用的是IDD_DIALOG1充当内容&#xff0c;第二个用的则是IDD_DIALOG2。I…

接口测试(3)

接口自动化 # 获取图片验证码import requestsresponse requests.get(url"http://kdtx-test.itheima.net/api/captchaImage")print(response.status_code) print(response.text) import requestsurl "http://kdtx-test.itheima.net/api/login" header_da…