首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏java 成神之路

    jvm 性能调优工具之 jcmd

    命令格式 jcmd <pid | main class> <command ... | PerfCounter.print | -f file> jcmd -l jcmd -h 描述 pid (同 -help) 查看进程 jcmd -l 命令:jcmd -l 描述:查看 当前机器上所有的 jvm 进程信息 jcmd jcmd -l jps 这三个命令的效果是一样的 查看性能统计 列出当前运行的 java 进程可以执行的操作 命令:jcmd PID help C:\Windows\system32>jcmd 9592 help 9592: The following commands 后,执行命令:jcmd PID JFR.dump name=abc,duration=120s filename=abc.jfr(注意,文件名必须为.jfr后缀) 检查JFR状态 执行命令:jcmd VM.version 命令:jcmd PID VM.version 描述:查看目标jvm进程的版本信息 C:\Users\jjs>jcmd 10576 VM.version 10576: Java

    9.3K51发布于 2018-05-18
  • 来自专栏在周末的专栏

    《Java性能权威指南》笔记----Java性能调优工具

    Java 1、VM信息   jcmd可用来查找运行的应用所在JVM的基本信息,包括所有调优标识的值。    jcmd 56062 VM.uptime 虚拟机运行时长   jcmd 56062 VM.system_properties 虚拟机系统属性   jcmd 56062 VM.system_version JVM版本   jcmd 56062 VM.command_line JVM命令行   jcmd 56062 VM.flags [-all] JVM调优标识   java -XX:+PrintFlagsInitial jinfo -flags 56062 获取进程中所有标志的值   jinfo -flag PrintGCDetails 56062 获取单个标志的值 2、线程信息   jstack 56062 或 jcmd

    77520发布于 2019-09-11
  • 来自专栏码匠的流水账

    聊聊HotSpot VM的Native Memory Tracking

    NativeMemoryTracking=summary可以用于开启NMT,其中该值默认为off,可以设置为summary或者detail来开启;开启的话,大概会增加5%-10%的性能消耗 查看 / # jcmd 1 VM.native_memory summary / # jcmd 1 VM.native_memory summary scale=MB 使用jcmd pid VM.native_memory可以查看 ,后面可以加summary或者detail,如果是开启summary的,就只能使用summary;其中scale参数可以指定展示的单位,可以为KB或者MB或者GB 创建baseline / # jcmd 1 VM.native_memory shutdown 1: Native memory tracking has been turned off 使用jcmd pid VM.native_memory shutdown可以用于关闭NMT;注意使用jcmd关闭之后貌似没有对应jcmd命令来开启 实例 / # jcmd 1 VM.native_memory summary scale=MB 1: ​ Native

    11.4K21发布于 2019-03-25
  • 来自专栏nobody

    捕获Java线程转储(Thread Dump)的几种方法

    -h --help -help to print this help message 示例: jstack 17264 > /tmp/threaddump.txt 1.2 jcmd jcmd 是一个多功能命令行工具 基本语法 jcmd <pid∣主类> <命令...∥PerfCounter.print∥−\[f文件] 或:jcmd -l 或:jcmd -h 命令必须是为选定的JVM提供的有效jcmd命令。 bogon:~ sdcui$ jcmd -h Usage: jcmd <pid | main class> <command ... command must be a valid jcmd command for the selected jvm. 结论 本文介绍了多种捕获Java线程转储的方法: ■ JDK工具 jstack、JMC、jvisualvm、jcmd、jconsole,各有适用场景。

    66920编辑于 2025-04-02
  • 来自专栏第三方工具

    性能监控之常见 Java Heap Dump 方法

    /tomcat-auto-myProject-8081/logs/dump240513Jmap.hprof 9407 ps -ef | grep "项目名称" 可以查询获取pid(进程ID) 2.jcmd 方式 格式: jcmd <pid> GC.heap_dump <file-path> demo: jcmd 9407 GC.heap_dump dump2405132.hprof ##注意:生成的文件需要使用完整的路径 jcmd 9407 GC.heap_dump /usr/local/tomcat-auto-myProject-8081/logs/dump240513Jcmd.hprof 3.下载 sz dump240513Jmap.hprof 9407 sz dump240513Jcmd.hprof 4.本地MAT工具打开分析(MemoryAnalyzer.exe)

    56310编辑于 2024-10-09
  • 来自专栏山海散人技术

    017. JDK 内置命令工具

    参数说明 4. jcmd jcmd 工具,可以替代 jps 工具查看本地的 jvm 信息。 jcmd -l jcmd <pid | main class> <command... | PerfCounter.print | -f file> 5. jinfo jinfo 可以查看运行中

    38230发布于 2021-03-03
  • 怎么用JDK自带工具进行JVM内存分析

    使用 jcmd 执行一些诊断命令:bash 代码解读复制代码jcmd <PID> VM.flagsjcmd <PID> VM.system_properties这些命令可以显示 JVM 的启动参数和系统属性 例如,可以使用 jcmd <pid> VM.flags 查看 JVM 启动参数,或者使用 jcmd <pid> Thread.print 打印线程堆栈信息。 下面是 jcmd 命令的基本使用方法:bash 代码解读复制代码jcmd <PID | main class> <command> [options]其中:<PID | main class>:要操作的 常用的 jcmd 命令包括:help: 显示 jcmd 支持的命令列表,以及每个命令的简要描述。VM.version: 显示 JVM 的版本信息。VM.flags: 显示 JVM 的启动参数。 jcmd <PID> GC.run如果要生成 Java 堆转储文件,可以使用以下命令:bash 代码解读复制代码jcmd <PID> GC.heap_dump <filename>jstatjstat:

    85310编辑于 2024-07-15
  • 来自专栏码匠的流水账

    聊聊jvm的StringTable及SymbolTable

    元数据中的constant pool table创建的,因而称为Runtime Constant Pool;这部分属于metaspcae,在native memory中 查看StringTable / # jcmd of bucket size : 0.360 Std. dev. of bucket size: 0.600 Maximum bucket size : 5 使用jcmd pid VM.stringtable可以在运行时查看 查看SymbolTable / # jcmd 1 VM.symboltable 1: SymbolTable statistics: Number of bucket size : 3.982 Std. dev. of bucket size: 1.996 Maximum bucket size : 14 使用jcmd 参数,在jvm进程退出时会输出SymbolTable statistics及StringTable statistics;使用jcmd pid VM.native_memory输出的Symbol部分包含了

    1.9K20发布于 2019-04-08
  • 来自专栏kimze

    分布式系统性能调优: 一篇彻底搞定JMC定位JVM性能问题

    17206 VM.check_commercial_features动态解锁 后可以运行许JFR采集任务jcmd 17206 VM.unlock_commercial_features 检查 & 解锁 性能开销低于1% profile.jfc 采集的事件力度更细(性能开销低于2%)JFR 采集实操:  假定 jvm pid是 17206 1.采集固定时长JFR任务--查看当前执行的 JFR 任务 jcmd 17206 JFR.check2.持续不断的采集JFR任务持续采集 JFR 任务 jcmd 17206 JFR.start name=zhibi_jfr_test2 settings=profile delay=5s duration=0 compress=true -手动转存 jfr 文件 jcmd 17206 JFR.dump name=zhibi_jfr_test2 filename="/home /work/apache-tomcat-7.0.85/zhibi_jfr_test2.jfr" compress=true -停止持续采集 JFR 任务 jcmd 17206 JFR.stop name

    2.1K62编辑于 2023-01-03
  • 来自专栏编程技巧

    使用JDK自带工具进行JVM内存分析之旅

    使用 jcmd 执行一些诊断命令:jcmd <PID> VM.flagsjcmd <PID> VM.system_properties这些命令可以显示 JVM 的启动参数和系统属性,帮助了解 JVM 的配置 例如,可以使用 jcmd <pid> VM.flags 查看 JVM 启动参数,或者使用 jcmd <pid> Thread.print 打印线程堆栈信息。 下面是 jcmd 命令的基本使用方法:jcmd <PID | main class> <command> [options]其中:<PID | main class>:要操作的 Java 进程的 PID 常用的 jcmd 命令包括:help: 显示 jcmd 支持的命令列表,以及每个命令的简要描述。VM.version: 显示 JVM 的版本信息。VM.flags: 显示 JVM 的启动参数。 举例来说,如果要打印指定 Java 进程的线程堆栈信息,可以使用以下命令:jcmd <PID> Thread.print如果要执行一次垃圾回收,可以使用以下命令:jcmd <PID> GC.run如果要生成

    3.4K10编辑于 2024-04-19
  • 来自专栏运维开发王义杰

    有哪些方式查看java进程的堆内存配置?

    使用jcmd工具: jcmd是一个多功能的Java命令行工具,它允许你发送诊断命令请求到Java虚拟机。 使用jcmd <PID> GC.heap_info命令,您可以查看有关Java进程堆内存配置的信息。

    3.6K10编辑于 2023-08-21
  • 来自专栏古时的风筝

    JVM 问题排查和性能优化常用的 JDK 工具

    JDK 提供了一系列用于监控、诊断 Java 进程的工具,它们在 JDK 安装目录的 bin 目录下,有 jps、jcmd、jstack、jinfo、jmap 等。 jcmd 会将命令发送给 JVM。 通过 jps 命令找到一个 JVM 进程,然后使用下面的代码可以看到 jcmd 支持的命令 #进程 5173 jcmd 5173 help 5173: The following commands 通过命令 jcmd 5173 help GC.heap_dump 可以查询到 GC.heap_dump 命令的使用方法,其他命令都可以通过这个方法找到使用说明 jcmd 5173 help GC.heap_dump 、jcmd 做详细说明,记得关注啊。

    1.5K40发布于 2019-11-26
  • 来自专栏FunTester

    如何获取JVM堆转储文件

    jcmd jcmd工具用于将诊断命令请求发送到JVM。它打包为JDK的一部分。可以在JAVA_HOMTE\bin文件夹中找到它。 这是调用jcmd的方法: jcmd <pid> GC.heap_dump <file-path> where pid: is the Java Process Id, whose heap dump should 例: jcmd 37320 GC.heap_dump /opt/tmp/heapdump.bin JVisualVM JVisualVM是一个监视,故障排除工具,打包在JDK中。

    1.8K30发布于 2019-12-04
  • 来自专栏数字化之路

    没有日志,有什么办法能知道“这个任务跑到哪了?”

    3、jcmdjcmd 是一个非常完整的工具,用于向JVM发送命令。 jcmd <pid> GC.heap_dump <file-path> 4、自动生成dump:java -XX:+HeapDumpOnOutOfMemoryError pid 5、JVisualVM

    22110编辑于 2024-11-23
  • 来自专栏码上修行

    【干货】JVM 优化、内存泄露排查、gc.log 分析方法等

    jcmd ## 类似于 jps,查看 java 进程 jcmd 1162 help ## 查看该进程支持的命令 jcmd 1162 VM.uptime ## 显示启动时间 jcmd 1162 VM.flags ## 显示VM标志 jcmd 1162 VM.version ## 查看虚拟机版本 jcmd 1162 VM.command_line ## 显示命令行及参数 jcmd 1162 VM.system_properties ## 显示系统属性 jcmd 1162 GC.run ## 执行 System.gc() jcmd 1162 GC.run_finalization ## 执行 System.runFinalization () jcmd 1162 GC.class_histogram ## 相当于 jmap -histo:live 1162 jcmd 1162 GC.heap_dump tomcat.hprof ## 生成堆快照文件 jcmd 1162 Thread.print ## 相当于 jstack 1162 jcmd 1162 PerfCounter.print ## 显示进程内各种计数器 6 开发监控系统 假设有个需求

    6.3K33发布于 2019-06-26
  • 来自专栏玩转JavaEE

    6 个 Java 工具,轻松分析定位 JVM 问题!

    jcmd 最后,我们来看一下 Java HotSpot 虚拟机的 NMT 功能。 启动程序后执行如下 jcmd 命令,以概要形式输出 NMT 结果。可以看到,当前有 32 个线程,线程栈总共保留了差不多 4GB 左右的内存。 ➜  ~ jcmd 24404 VM.native_memory summary 24404: Native Memory Tracking: Total: reserved=6635310KB 重新设置正确的参数后,使用 jcmd 再次验证下: 除了用于查看 NMT 外,jcmd 还有许多功能。 我们可以通过 help,看到它的所有功能: jcmd 24781 help 除了 jps、jinfo、jcmd、jstack、jstat、jconsole、jvisualvm 外,JDK 中还有一些工具

    60910编辑于 2022-03-14
  • 来自专栏码匠的流水账

    聊聊jvm的Code Cache

    nmethods、non-nmethods三部分来展示 其中size就是限制的最大大小,used表示实际使用量,max_used就是使用大小的high water mark,free由size-used得来 jcmd pid Compiler.codecache / # jcmd 1 Compiler.codecache 1: CodeHeap 'non-profiled nmethods': size=120036Kb adapters=412 compilation: enabled stopped_count=0, restarted_count=0 full_count=0 使用jcmd 的Compiler.codecache也可以查看code cache的使用情况,输出跟-XX:+PrintCodeCache相同 jcmd pid VM.native_memory / # jcmd 1 的Compiler.codecache,其输出跟-XX:+PrintCodeCache相同; 使用jcmd的VM.native_memory也可以查看code cache的使用情况(Code部分) 使用

    8.3K51发布于 2019-03-30
  • 来自专栏Coding Diary

    JDK内置工具命令

    关于命令中表头等信息的详细解释可以参考 jstat命令手册 jcmd jcmd工具可以替代jps工具查看本地的JVM信息 用法:jcmd [pid | main-class] command…|PerfCounter.print

    74130发布于 2019-10-20
  • 你的 Java 应用“吃光”了内存?别慌,NMT 帮你揪出真凶!

    三、第一步:打个“基线”,锁定起点应用刚启动,还没开始“作案”时,我们先拍张“案发现场快照”:jcmd 140190 VM.native_memory baseline scale=MB✅ 输出 Baseline jcmd 140190 VM.native_memory summary scale=MB一般情况下,只需关注红色部分的内存区域,Java Heap、Class、Thread、Other这4块,这些是应用源码本身 定期用 NMT 监控生产环境可临时开启 NMT(有轻微性能损耗,约 5~10%)关键命令:jcmd <pid> VM.native_memory summary      # 总览 jcmd <pid> VM.native_memory baseline     # 打基线 jcmd <pid> VM.native_memory summary.diff # 看变化 10、附:NMT 各区域速查表(重点关注这 按顺序检查:jcmd <pid> VM.native_memory summary → 看总览是否 "Other" 异常增长?

    51211编辑于 2025-11-27
  • 来自专栏程序猿DD

    6 款 Java 8 自带工具,轻松分析定位 JVM 问题!

    jcmd 最后,我们来看一下 Java HotSpot 虚拟机的 NMT 功能。 启动程序后执行如下 jcmd 命令,以概要形式输出 NMT 结果。可以看到,当前有 32 个线程,线程栈总共保留了差不多 4GB 左右的内存。 ➜  ~ jcmd 24404 VM.native_memory summary 24404: Native Memory Tracking: Total: reserved=6635310KB 重新设置正确的参数后,使用 jcmd 再次验证下: 图片 除了用于查看 NMT 外,jcmd 还有许多功能。 我们可以通过 help,看到它的所有功能: jcmd 24781 help 除了 jps、jinfo、jcmd、jstack、jstat、jconsole、jvisualvm 外,JDK 中还有一些工具

    82810编辑于 2022-03-14
领券