JVM-(9)JVM诊断的常用命令以及参数

JVM调优的常用命令和参数 JVM调优是Java性能优化的重要环节,涉及内存管理、垃圾回收(GC)、线程监控等核心机制。 阅读详情

JVM诊断的常用命令以及参数

在上文 JVM启动的常用命令以及参数 中我们了解了如何启动 JVM ,以及在启动时如何添加参数,不同于 Java 命令,JVM 诊断命令是用来诊断运行中的 JVM 的。

常用诊断命令

1. top

top 不是 JVM 提供的命令,它是 Linux 系统中一个功能强大的性能监控工具💻,它可以实时、动态地显示系统整体性能指标以及各个进程的资源占用情况,类似于 Windows 系统中的任务管理器。它通常是故障排查和性能分析的首选工具。
使用方法:

top


解释说明:

区域信息含义说明
第1行系统运行时间与负载当前时间、系统已运行时间、当前登录用户数、系统平均负载(1分钟、5分钟、15分钟)
第2行任务(进程)信息进程总数、运行中进程数、休眠进程数、停止进程数、僵尸进程数
第3行CPU 使用情况用户空间占用百分比(us)、内核空间占用百分比(sy)、空闲百分比(id)、等待I/O的百分比(wa)等
第4行物理内存使用(单位为M)总内存、已使用内存、空闲内存、缓冲缓存内存量
第5行交换分区(Swap)使用交换分区总量、已使用量、空闲量
进程信息区PID进程ID
USER进程所有者
%CPU进程占用CPU百分比
%MEM进程占用物理内存百分比
COMMAND启动进程的命令名或命令行

常用命令行选项:
可以在使用 top 命令时直接加入这些选项

选项含义示例
-d <秒数>设置屏幕刷新间隔时间,单位秒top -d 1 (每秒刷新一次)
-p <&PID>仅监视指定的进程IDtop -p 1234 (只查看PID为1234的进程)
-u <用户名>仅显示指定用户的进程top -u www-data (只查看属于www-data用户的进程)
-b以批处理模式运行,常用于将输出重定向到文件top -b -n 3 > top_log.txt (运行3次后输出到文件)
-n <次数>与 -b 配合,指定 top 命令运行的次数后退出同上
-c显示进程的完整命令行top -c (方便查看进程的完整启动参数)
-H显示线程信息(需要结合 -p 使用)top -H -p 1234 (查看PID为1234的进程下的所有线程)

比如:
top -c :显示进程的完整命令行

top -c

top -H -p :查看PID进程下的所有线程资源占用

top -H -p 2377735

下面的 pid 就表示线程id了

交互式命令(在 top 运行中按键生效):
在 top 运行界面,按下这些键可以改变显示方式或操作进程:

按键功能
h显示帮助画面,查看所有可用的交互命令
k终止一个进程,输入PID和信号(默认15)
i忽略闲置(Idle)或僵尸(Zombie)进程,是一个开关
M根据内存使用率(%MEM)排序
P根据CPU使用率(%CPU)排序(默认顺序)
T根据进程运行时间(TIME+)排序
N以PID从大到小排序
R反转排序顺序
1切换显示所有CPU核心的单独状态(再按一下切回总体)
f进入字段管理界面,可以选择显示或隐藏哪些列
W将当前 top 设置写入配置文件(~/.toprc)
q退出 top

比如:
在使用 top -c 命令后,在top运行界面按 M 可以按内存使用率排序

2. jps

jps(Java Virtual Machine Process Status Tool) 的主要功能是:列出当前用户下所有正在运行的 Java 进程的 PID(进程 ID)和主类名。它的输出类似于 Linux 中的 ps -ef | grep java,但比后者更准确和方便,因为它直接查询目标机器上的 Java 进程信息,而无需依赖字符串匹配。
使用语法

jps [options] [hostid]
  • 大多数情况下,我们只在本地使用,不需要 hostid。
  • options 是控制输出内容的选项。

最常用的选项:

选项作用示例
-q只输出进程的 PID(安静模式)jps -q → 12345
-l(小写的L)输出应用程序主类的完整包名(非常常用)jps -l → 12345 com.example.
-m输出传递给 main() 方法的参数jps -m → 12345 arg1 arg2
-v输出传递给 JVM 的参数(如 -Xmx, -D 等)jps -v → 12345 -Xms512m -Xmx1g
-V输出通过 .jar 文件中的 JAR MANIFEST 设置的参数

使用示例:

jps -l -m -v

3. jinfo

使用 jinfo 命令(Java Configuration Info)来查看指定 PID 的详细配置信息。
使用示例:
查看 PID 为 2377735 的 java 进程的详细配置信息,包括 jvm 的配置参数值

jinfo 2377735



如上:这个java进程的 jvm MaxHeapSize 为 490733568 (大概 468M),我这台机器总的物理内存为 1.8 G,堆内存允许的最大值大概是物理内存的 1/4。
物理内存查看方式如下:

查询特定参数值:

jinfo -flag <FlagName> <PID>

比如只查看 MaxHeapSize 的值:

jinfo -flag MaxHeapSize 2377735

4. jstat

jstat(Java Virtual Machine Statistics Monitoring Tool) 用于持续监控并输出目标 JVM 进程的性能统计信息,特别是与堆内存和垃圾回收相关的详细数据。
它的核心价值在于:无需开启冗长的 GC 日志,就能以极小的性能开销,实时观察 JVM 内存池的使用量和 GC 活动的频率及耗时。
基本语法:

jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
  • -<&option>:指定要查看的统计信息类型(见下表)。
  • <&vmid>:目标 Java 进程的 PID(用 jps -l 获取)。
  • <&interval>:连续输出之间的间隔时间(单位:秒或毫秒,如 1s, 500ms)。
  • <&count>:打印多少次统计信息后退出。
  • -t:在输出中增加一列时间戳(从 JVM 启动开始计算的秒数)。
  • -h<&n>:每输出 n 行后,打印一次列标题。

最常用的选项:

选项作用说明
-gcutil(最常用) 以百分比形式显示各代空间的利用率摘要。快速健康检查首选。
-gc显示各代空间的容量(Capacity)和使用量(Used)。查看绝对数值(KB)。
-gccapacity显示各代空间的最小、最大容量及当前容量。查看内存池大小如何变化。
-gcmetacapacityJDK 8+ 显示元空间(Metaspace)的容量信息。替代 JDK 7 的 -gcpermcapacity。
-gcnew显示新生代(Young Gen)的GC统计信息。关注 Minor GC。
-gcold显示老年代(Old Gen)的GC统计信息。关注 Major/Full GC。

使用示例:
每秒刷新一次,共刷新 5 次,并显示时间戳,以此方式显示 PID 为 2377735 的 java 进程的堆内存和垃圾回收相关的详细数据。

jstat -gcutil -t 2377735 1s 5


可以看到当 E 区内存到达 99.14 时发生了以此 YGC,YGC 次数由 118 变成119。

[root@** ~]# jstat -gcutil -t 2377735 1s 500
Timestamp         S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
       780068.4  26.05   0.00  18.76  44.37  94.82  92.00    118    0.784     3    0.379    1.163
       780069.4  26.05   0.00  18.76  44.37  94.82  92.00    118    0.784     3    0.379    1.163
       780070.4  26.05   0.00  18.76  44.37  94.82  92.00    118    0.784     3    0.379    1.163
       780071.4  26.05   0.00  18.76  44.37  94.82  92.00    118    0.784     3    0.379    1.163
       780072.4  26.05   0.00  21.36  44.37  94.82  92.00    118    0.784     3    0.379    1.163
       780073.4  26.05   0.00  30.17  44.37  94.82  92.00    118    0.784     3    0.379    1.163
       780074.4  26.05   0.00  37.49  44.37  94.82  92.00    118    0.784     3    0.379    1.163
       780075.4  26.05   0.00  48.85  44.37  94.82  92.00    118    0.784     3    0.379    1.163
       780076.4  26.05   0.00  58.16  44.37  94.82  92.00    118    0.784     3    0.379    1.163
       780077.4  26.05   0.00  70.88  44.37  94.82  92.00    118    0.784     3    0.379    1.163
       780078.4  26.05   0.00  87.91  44.37  94.82  92.00    118    0.784     3    0.379    1.163
       780079.4  26.05   0.00  99.14  44.37  94.82  92.00    118    0.784     3    0.379    1.163
       780080.4   0.00  40.64  12.54  44.39  94.82  92.00    119    0.788     3    0.379    1.166
       780081.4   0.00  40.64  19.82  44.39  94.82  92.00    119    0.788     3    0.379    1.166
       780082.4   0.00  40.64  20.41  44.39  94.82  92.00    119    0.788     3    0.379    1.166
       780083.4   0.00  40.64  20.41  44.39  94.82  92.00    119    0.788     3    0.379    1.166
       780084.4   0.00  40.64  20.49  44.39  94.82  92.00    119    0.788     3    0.379    1.166
       780085.4   0.00  40.64  20.50  44.39  94.82  92.00    119    0.788     3    0.379    1.166

各列含义:

  • Timestamp: JVM 启动后经过的时间(秒)。由 -t 选项生成。
  • S0: Survivor 0 区当前使用百分比。
  • S1: Survivor 1 区当前使用百分比。
  • E: Eden 区当前使用百分比。快速增长表示在创建新对象。
  • O: 老年代(Old)当前使用百分比。持续缓慢增长可能预示内存泄漏。
  • M / CCS: (JDK 8+) 元空间(Metaspace)和压缩类空间(Compressed Class Space)使用率。
  • YGC: Young GC(Minor GC)发生次数。
  • YGCT: Young GC 累计耗时(秒)。
  • FGC: Full GC 发生次数。这个数字需要特别关注,频繁 Full GC 会导致应用停顿。
  • FGCT: Full GC 累计耗时(秒)。
  • GCT: 所有 GC 的总耗时(YGCT + FGCT)。

5. jstack

jstack(Java Stack Trace Tool) 的主要功能是:连接到指定的 Java 进程,并输出其内部所有线程的完整调用堆栈信息。

6. jmap

jmap(Java Memory Map)是 Java 开发者和运维人员工具箱中又一个至关重要的命令行工具。它主要用于生成堆转储快照(Heap Dump)和查询 Java 进程的堆内存相关信息。
基本语法:

jmap [option] <pid>

常用选项:

选项作用说明与示例
-dump:[live,]format=b,file=<&filename>(最核心)生成堆转储文件-dump:live,format=b,file=heap.hprof live 子选项表示只转储存活的对象(会触发一次Full GC)。
-heap显示堆的摘要信息显示GC算法、堆配置、各内存区域(Eden, Old, Metaspace等)的容量和使用情况。jmap -heap <&pid>
-histo[:live]显示堆中对象的直方图按类名统计实例数量和占用空间,live 选项只统计存活对象(该命令会触发Full GC)。jmap -histo:live <&pid> | head -20
-finalizerinfo显示正等待回收的对象查看等待 finalize 方法执行的对象数量。
-clstats显示类加载器统计信息打印类加载器的内存统计(JDK 8+ 的 -clstats 替代了旧的 -permstat)

举例:

jmap -heap 2377735

[root@**** ~]# jmap -heap 2377735
Attaching to process ID 2377735, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.144-b01

using thread-local object allocation.
Parallel GC with 2 thread(s)

Heap Configuration:                     // 堆配置
   MinHeapFreeRatio         = 0
   MaxHeapFreeRatio         = 100
   MaxHeapSize              = 490733568 (468.0MB) 	  // -Xmx
   NewSize                  = 10485760 (10.0MB)       // 新生代初始大小
   MaxNewSize               = 163577856 (156.0MB)     // 新生代最大大小
   OldSize                  = 20971520 (20.0MB)       // 老年代大小
   NewRatio                 = 2 					  // 新生代:老年代 
   SurvivorRatio            = 8 //用于设置 Eden区 与 一个Survivor区 的大小比例,
   // 新生代由 1 个 Eden 区和 2 个 Survivor 区组成,因此总份数为 8 + 1 + 1 = 10,
   MetaspaceSize            = 21807104 (20.796875MB)
   CompressedClassSpaceSize = 1073741824 (1024.0MB)
   MaxMetaspaceSize         = 17592186044415 MB
   G1HeapRegionSize         = 0 (0.0MB)

Heap Usage:               	      // 堆使用情况
PS Young Generation               // 新生代使用情况
Eden Space:
   capacity = 23068672 (22.0MB)
   used     = 9486560 (9.047088623046875MB)
   free     = 13582112 (12.952911376953125MB)
   41.12313010475852% used
From Space:
   capacity = 1572864 (1.5MB)
   used     = 704688 (0.6720428466796875MB)
   free     = 868176 (0.8279571533203125MB)
   44.8028564453125% used
To Space:
   capacity = 1572864 (1.5MB)
   used     = 0 (0.0MB)
   free     = 1572864 (1.5MB)
   0.0% used
PS Old Generation
   capacity = 60293120 (57.5MB)
   used     = 26769576 (25.529457092285156MB)
   free     = 33523544 (31.970542907714844MB)
   44.399055812669836% used

30532 interned Strings occupying 2892240 bytes.

从Elasticsearch的jvm.options读懂JVM参数的生效核验、内存分账与诊断兜底 写进配置的JVM参数不一定生效,生效的参数也未必适合你的场景。本文以Elasticsearch的jvm.options为样板,结合JDK 8与JDK 17的可复现实验,先讲如何用PrintFlagsFinal、jcmd与进程内自检核实参数终值和来源,再讲堆怎么分:存储型服务把一半内存留给页缓存,堆不越过约31GB的压缩指针边界;计算型服务先用NMT量出堆外再定堆。随后梳理分代比例与晋升阈值、GC日志新旧写法、堆转储与OOM退出、异常栈保留及CMS到G1、ZGC的演进,最后给出模板与核验清单。 阅读详情

相关推荐

Linux下CUDA 11.8与vllm的完美搭配:从环境配置到避坑指南

本文详细介绍了在Linux系统中为CUDA 11.8环境部署vLLM的完整实战指南。针对cu118与vLLM的版本兼容性核心问题,提供了从Python、PyTorch版本选择,到关键依赖vllm-nccl-cu11的安装避坑,以及环境调优、生产级容器化部署的全面解决方案,帮助开发者高效构建稳定的大模型推理服务。

weixin_29095049的博客 308

java jstat 命令笔记

jstat 是JDK自带的一个轻量级小工具,可以用来分析java程序垃圾回收相关信息。 使用方式 jstat -help Usage: jstat -help|-options jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]] option...

xyw10000 2380

(53页PPT)新型智慧病房整体解决方案(附下载方式)

当前医疗场景存在三大核心矛盾:院内感染风险(如输液异常发现滞后)、信息孤岛现象(11类业务系统数据割裂)、管理效能不足(30%护理时间耗费在机械性工作)。实际案例显示,整体运营效率提升40%,患者满意度提高28个百分点,真正实现了"让技术有温度,让数据会说话"的价值理念。本文将从需求分析、技术架构、应用场景三个维度,深度剖析这份53页解决方案的创新价值与实践路径。床旁智能终端整合12项功能:包括体征自动采集(误差率<1%)、医嘱执行核对(100%条码校验)、智能床垫离床报警(响应时间3秒)等。

AI_data_cloud的博客 715

jvm常用查询指令

jvm 常用指令

weixin_44284706的博客 2446

手把手教你用LTspice仿真TVS二极管:从选型验证到波形分析全流程

本文详细介绍了如何使用LTspice仿真TVS二极管,从选型验证到波形分析的全流程。通过搭建仿真环境、核心参数验证和系统级防护策略,帮助工程师低成本评估TVS性能,优化电路设计。特别适用于电源设计和接口防护领域,提升工作效率和设计准确性。

weixin_29234239的博客 643

POWER(十一)charge pump原理

电荷泵是一种基于电容充放电原理的DC-DC转换电路,通过开关控制实现电压转换,包括升压、降压和负压输出。其核心是利用电荷守恒原理,通过电容存储和转移电荷来改变输出电压。典型拓扑结构包括倍压电路和多阶升压电路,具有结构简单、体积小等优势。关键参数包括转换效率、输出电流能力和开关频率,适用于芯片供电、显示屏驱动等低功耗场景。LVDS部分补充说明了自举电路在驱动电路中的应用及其自同步特性。

zhlwsh的博客 2794

常用的JVM参数和命令

-version -help -server -cp非标准参数,不同JDK版本可能不同设置采用解释器/JIT编译器使用最多的参数,非标准化参数。主要用于JVM调优和debug格式:-XX:[+/-] 表示启用或禁用name属性(+表示启用,-表示禁用) 如:-XX:+UseG1GC 表示启用G1垃圾收集器格式:-XX:= 表示name属性的值为value 如:-XX:MaxHeapSize=100M 表示最大堆空间为100M-Xms1000: 初始堆内存大小,等价于-X......

信竞星球_少儿编程题库 3226

强化学习——day16 动态规划算法

动态规划(dynamic programming)是程序设计算法中非常重要的内容,能够高效解决一些经典问题,例如背包问题和最短路径规划。动态规划的基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到目标问题的解。动态规划会保存已解决的子问题的答案,在求解目标问题的过程中,需要这些子问题答案时就可以直接利用,避免重复计算。本章介绍如何用动态规划的思想来求解在马尔可夫决策过程中的最优策略

想太多的学习日志 1550

JVM常见命令参数

样例以jdk8环境为例。

m2442600094_的博客 935

VLA算法总结对比——RT1 / RT2 / Pi0 / Octo/ RDT / OpenVLA

本文主要针最近比较经典的VLA算法进行对比总结,暂不涉及到代码细节和实验细节上的展开,仅仅是从大面上掌握下目前VLA的一些思路和方法。

weixin_44580210的博客 9482

12.工具高级参数CogCalibNPointToNPointTool

CogCalibNPointToNPointTool是一种多点2D坐标校正工具,用于将图像像素坐标转换为物理世界坐标。该工具通过两组点(图像坐标点和物理坐标点)计算最佳转换关系,并将结果保存供后续使用。操作步骤包括获取图像、添加坐标点对、计算转换参数。校正结果会显示平移、缩放、旋转等参数及RMS误差值,较大的误差可能表明点位置不准确或自由度不足。该工具广泛应用于机器视觉领域,通过9点标定等案例可验证坐标转换的准确性并优化参数设置。

202

java 内存情况_查看java内存情况命令

转自:http://boendev.iteye.com/blog/882479jinfo:可以输出并修改运行时的java 进程的opts。jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。jstat:一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。jmap:打印出某个java进程(使用pid)内...

weixin_39636857的博客 1024

yolov8涨点系列之替换幽灵卷积GhostConv

yolov8涨点系列之替换幽灵卷积GhostConv

zhang1379的博客 3564

第26讲 | 如何监控和诊断JVM堆内和堆外内存使用?

上一讲介绍了 JVM 内存区域的划分,总结了相关的一些概念,今天我将结合 JVM 参数、工具等方面,进一步分析 JVM 内存结构,包括外部资料相对较少的堆外部分。今天要问你的问题是,如何监控和诊断 JVM 堆内和堆外内存使用?

qq_37756660的博客 2804

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

jvm参数都有哪些

常见JVM参数包括:内存设置:-Xms(初始堆)、-Xmx(最大堆)、-Xss(线程栈)垃圾回收器:-XX:+UseG1GC(G1回收器)、-XX:+UseParallelGC(并行回收)监控调试:-XX:+HeapDumpOnOutOfMemoryError(OOM生成堆转储)性能优化:-XX:MaxMetaspaceSize(元空间上限)日志参数:-Xloggc(GC日志路径)

weixin_46084191的博客 2510

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

18. JVM调优-常用命令及调优参数

JVM性能调优的核心在于合理配置内存、选择合适的垃圾回收器,并优化代码执行效率。

sinat_33739100的博客 799

JVM所有参数配置

本文系统介绍了JVM参数分类与调优指南,主要内容包括:1. JVM参数三大类型(标准参数、非标准参数-X、高级参数-XX)及其功能说明;2. 关键参数详解:内存管理(堆/非堆)、GC选择(G1/ZGC等)、诊断工具(GC日志/OOM dump);3. 调优场景示例(Web服务/大数据任务/开发调试);4. 最佳实践与常见误区(内存设置、GC选择、日志配置);5. 监控工具推荐(JVisualVM/Arthas等)和真实案例分析。文章强调参数调优应结合实际业务需求,通过渐进式调整和持续监控来优化JVM性能。

onlymscn的博客 1307

JVM诊断之查看运行参数

问题描述 为了分析和定位一个Java线上系统问题,我们需要查看JVM启动时的一些参数设置,例如:垃圾回收算法、堆大小等等。这些参数可能在启动脚本中明确指明,也可能采用默认值。在系统运行过程中其他人也许动态调整了系统参数。 如何实时查看正在运行的JVM的参数呢? 解决方案 可以采用jcmd来查看正在运行的JVM的参数。jcmd从JDK 7开始引入的一个JVM诊断命令行工具,可以向运行中的JVM发送诊断命令。 查看JVM进程的PID $ jcmd -l 27940 sun

msbjyJava的博客 346

JVM监控及诊断工具-命令行篇

JVM监控及诊断工具-命令行篇概述 本文介绍了Java虚拟机(JVM)性能监控和诊断的常用命令行工具。主要包括jps和jstat两个核心工具的使用方法: jps:用于查看正在运行的Java进程,可显示进程ID、主类名、JVM参数等信息。常用参数包括-q(仅显示ID)、-l(显示全类名)、-m(显示main参数)、-v(显示JVM参数)。 jstat:提供JVM统计信息监控,包括类加载、垃圾回收、JIT编译等数据。主要选项有: 类加载:-class 垃圾回收:-gc、-gccapacity、-gcutil等

qq_27352081的博客 1174

吃透 JVM 诊断方法与工具使用

在实际工作中,我们还需要监控系统资源,比如监控CPU、内存、磁盘I/O和网络等系统资源的使用情况,以确定是否是系统资源限制导致的问题。威哥爱编程引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构。

sdgfafg_25的博客 1315

14、JVM监控及诊断工具-命令行篇

文章目录第1章、概述1、简单命令行工具第2章、jps:查看正在运行的Java进程1、基本情况2、基本语法【1】options参数【2】hostid参数第3章、jstat:查看JVM统计信息1、简介2、基本语法【1】option参数【2】interval参数【3】count参数【4】-t参数【5】-h参数3、补充第4章、jinfo:实时查看和修改JVM配置参数1、基本情况2、基本语法【1】查看【2】修改3、拓展第5章、jmap:导出内存映像文件&内存使用情况1、基本情况2、基本语法3、使用:导出内存映

HK_Milky的博客 2603

深入理解JVM - JVM常用命令

jps(JVM Process Status Tool):显示指定系统内所有的HotSpot虚拟机进程 jstat(JVM Statistics Monitoring Tool):用户收集HotSpot虚拟机各方面的运行数据 jinfo(Configuration Info for Java):实时查看和调整虚拟机各项参数,在JDK9中集成到了jhsdb jmap(Memory Map for ...

xiaolyuh的专栏 1595

JVM诊断工具详解:gh_mirrors/jvm9/jvm中的jstack与jmap

在JVM(Java Virtual Machine,Java虚拟机)开发与运维过程中,开发者经常面临线程阻塞、内存泄漏、CPU占用过高等问题。这些问题若不能及时定位,可能导致服务响应缓慢甚至崩溃。本文将详细介绍两款核心JVM诊断工具——`jstack`与`jmap`,通过实战案例演示如何利用它们快速定位并解决JVM运行时问题。读完本文,你将掌握: - `jstack`线程快照分析与死锁检测技巧 -...

gitblog_00269的博客 501

图解JVM - 21.JVM运行时参数

本文系统解析JVM运行时参数,涵盖GC日志配置、监控参数实战应用及内存泄漏排查流程,提供Java代码获取JVM参数方法,总结高频面试问题与配置模板,助开发者掌握调优技巧与问题诊断策略。

Anarkh_Lee的博客 1410

JVM调优参数分类

开头:标准参数(所有JVM实现支持) , , 启用功能, 禁用功能 , 设置数值型参数 基础配置必检项:危险参数黑名单:

fjd7474的博客 959

- 如何监控和诊断JVM堆内和堆外内存使用?

上一讲我介绍了JVM内存区域的划分,总结了相关的一些概念,今天我将结合JVM参数、工具等方面,进一步分析JVM内存结构,包括外部资料相对较少的堆外部分。今天我要问你的问题是,如何监控和诊断JVM堆内和堆外内存使用?

qq_33240556的博客 1444
上一篇: JVM-(8)JVM启动的常用命令以及参数
下一篇: JVM-(11)JVM-定位OOM问题
sql2008help
博客等级 码龄11年 80粉丝 145原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值