JVM之常用监控工具

JVM之常用监控工具

jps

jinfo 获取配置信息

基本语法

jinfo [options] <pid>

常用选项

  • -sysprops:显示JVM进程的系统属性。
  • -flags:显示用于启动JVM的命令行标志和VM选项。
  • -flag <name>:显示指定JVM标志的当前值。
  • -flag [+|-]<name>:启用或禁用指定的JVM标志。
  • -flag <name>=<value>:设置指定JVM标志的值。
  • -h:打印帮助消息,列出可用选项的列表。

常用示例

  1. 获取正在运行的JVM的系统属性:
jinfo -sysprops 608
....  
  1. 获取用于启动JVM的命令行标志和VM选项:
[root@VM-16-3-centos ~]# jinfo -flags 608
Attaching to process ID 608, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.231-b11
Non-default VM flags: -XX:CICompilerCount=2 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=null -XX:InitialHeapSize=134217728 -XX:MaxHeapSize=134217728 -XX:MaxNewSize=67108864 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=67108864 -XX:OldSize=67108864 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC 
Command line:  -Xms128m -Xmx128m -Xmn64m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/root/javaapp/dbddump.bin

jstat 统计信息

基本语法

jstat [optionList] <vmid> [interval] [count]

常用选项

  • -gc:显示与垃圾回收相关的统计信息。
  • -class:显示与类加载相关的统计信息。
  • -compiler:显示与JIT编译器相关的统计信息。
  • -gcutil:显示与垃圾回收相关的统计信息(以百分比形式)。
  • -gcnew:显示新生代垃圾回收相关的统计信息。
  • -gcold:显示老年代垃圾回收相关的统计信息。
  • -gcpermcapacity:显示永久代容量相关的统计信息。

请注意,jstat命令提供了更多选项和功能,您可以使用jstat -options命令查看完整的选项列表和描述。

常用示例

jstat -gc 608 1000 3

image.png

jmap堆内存详细信息

基本语法

jmap [optionList] <pid>

常用选项

  • -heap:显示堆内存使用情况,包括堆大小、已使用空间、各代区域大小等。
  • -histo:显示堆内存中各个类的实例数量和占用空间。
  • -dump:<dumpOptions>:导出堆转储文件(heap dump),可以进行后续的内存分析。
  • -finalizerinfo:显示等待执行 finalizer 方法的对象信息。
  • -clstats:显示类加载器的统计信息。
  • -F:在无法通过正常方式导出堆转储文件时,强制进行转储。

常用示例

显示堆的使用情况

[root@VM-16-3-centos ~]# jmap -heap 608
Attaching to process ID 608, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.231-b11using thread-local object allocation.
Parallel GC with 2 thread(s)Heap Configuration:MinHeapFreeRatio         = 0MaxHeapFreeRatio         = 100MaxHeapSize              = 134217728 (128.0MB)NewSize                  = 67108864 (64.0MB)MaxNewSize               = 67108864 (64.0MB)OldSize                  = 67108864 (64.0MB)NewRatio                 = 2SurvivorRatio            = 8MetaspaceSize            = 21807104 (20.796875MB)CompressedClassSpaceSize = 1073741824 (1024.0MB)MaxMetaspaceSize         = 17592186044415 MBG1HeapRegionSize         = 0 (0.0MB)Heap Usage:
PS Young Generation
Eden Space:capacity = 61865984 (59.0MB)used     = 27628008 (26.348121643066406MB)free     = 34237976 (32.651878356933594MB)44.65783329333289% used
From Space:capacity = 2621440 (2.5MB)used     = 1397360 (1.3326263427734375MB)free     = 1224080 (1.1673736572265625MB)53.3050537109375% used
To Space:capacity = 2621440 (2.5MB)used     = 0 (0.0MB)free     = 2621440 (2.5MB)0.0% used
PS Old Generationcapacity = 67108864 (64.0MB)used     = 24676544 (23.53338623046875MB)free     = 42432320 (40.46661376953125MB)36.77091598510742% used25314 interned Strings occupying 2714424 bytes.

显示堆直方图

jmap -histo:live 608

导出堆转储文件

[root@VM-16-3-centos ~]# jmap -dump:live,format=b,file=/root/dbdheap.bin 608
Dumping heap to /root/dbdheap.bin ...
Heap dump file created
[root@VM-16-3-centos ~]# 

jstack线程堆栈信息

基本语法

jstack [optionList] <pid>

常用选项

  • -l:输出长格式的线程堆栈信息,包括锁的附加信息。
  • -F:在线程不响应时,强制输出线程堆栈信息。
  • -m:输出线程的锁信息。
  • -h:显示帮助信息。

常用示例

jvisualvm可视化vm

作用:分析堆转储文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/792120.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows10安装CloudCompare(图文安装)

CloudCompare是一个3D点云&#xff08;和三角网格&#xff09;处理软件。它最初被设计用于在两个密集的3D点云&#xff08;例如用激光扫描仪获取的点云&#xff09;之间或点云和三角形网格之间进行比较。它依赖于专用于此任务的特定八叉树结构。 之后&#xff0c;它已经扩展到一…

[实验报告]--基于端口安全

[实验报告] 目录 [实验报告] 一、项目背景 二、实验环境 三、项目规划设计 四、项目实施 五、验证项目成果 基于端口安全的 Jan16 公司网络组建 一、项目背景 Jan16 公司开发部为重要部门&#xff0c;所有员工使用指定的计算机工作&#xff0c;为防止员工或访客使 用个…

java中Date类,SimpleDateFormat类和Calendar类

Date类 public Date() 创建一个Date对象&#xff0c;代表的是系统当前此刻的日期时间 public Date(long date) Constructs a Date object using the given milliseconds time value. 把时间毫秒值转变成Date日期对象 public void setTime(long date) Sets an existing Date ob…

深度解析大语言模型中的词向量

在学习完语言模型中的编码器与解码器知识后&#xff0c;让我们继续深入学习大语言模型中一个非常关键的技术&#xff1a;词向量表示&#xff0c;以及如何通过Transformer模型实现对next token的预测。 1、词向量 要了解语言模型的工作原理&#xff0c;首先需要了解它们如何表示…

C#.net6.0手术麻醉信息管理系统源码,智慧手术室管理平台源码

手术麻醉信息管理系统源码&#xff0c;自主版权的手麻系统源码 手术麻醉信息管理系统包含了患者从预约申请手术到术前、术中、术后的流程控制。手术麻醉信息管理系统主要是由监护设备数据采集子系统和麻醉临床系统两个子部分组成。包括从手术申请到手术分配&#xff0c;再到术前…

element-ui collapse 组件源码分享

今日简单分享 collapse 组件的源码实现&#xff0c;主要分为四个方面&#xff1a; 1、collapse 组件页面结构 2、collapse 组件属性 3、collapse 组件事件 4、collapse item 组件属性 一、collapse 组件页面结构 二、collapse 组件属性 2.1 value/v-model 属性&#xff0…

Ubuntu18.04+2070s+TF2.x环境,单卡训练PointNet++实战

Ubuntu18.042070sTF2.x环境&#xff0c;单卡训练PointNet实战 1. 编译tf_ops文件夹下的三个动态库2. 修改Python版本、TF版本不一致带来的差异3. 下载训练数据4. 模型训练 1. 编译tf_ops文件夹下的三个动态库 该文件夹下定义了一些pointnet模型中需要使用的cuda核函数&#xf…

程序代码分析工具

文章目录 工具简介和安装DoxygenGraphziv软件安装 工具的运用启动和配置工具分析结果 工具简介和安装 Doxygen Doxygen 是一种用于从 C 、C 、Objective-C 、C# 、Java 和 Python 等语言的源代码中生成文档的工具。它通过解析源代码中的注释来创建详细的 API 文档&#xff0c;…

码农失业倒计时?全球首个大厂AI程序员来了

进入互联网时代&#xff0c;程序员作为高收入职业的代表&#xff0c;长久以来一直是众多求职者梦寐以求的工作方向。程序员们凭借其对计算机科学的深刻理解和技术创新能力&#xff0c;不仅推动了科技的进步&#xff0c;也为自己赢得了可观的经济回报。 然而&#xff0c;随着人…

多叉树题目:N 叉树的层序遍历

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;N 叉树的层序遍历 出处&#xff1a;429. N 叉树的层序遍历 难度 4 级 题目描述 要求 给定一个 N 叉树的根结点 root \texttt{root} root&#xf…

SAP FI学习笔记04 - 基础知识 - 新规会计科目,用 应收账款科目 做个例子

上一章讲了 应付账款 的来源及操作。 SAP FI学习笔记03 - 应付账款-CSDN博客 本章先尝试做一个会计科目&#xff0c;然后再用 应收账款 科目做个例子。 应收账款 和 应付账款 一样&#xff0c;也有两个视图。 1&#xff0c;新建几个会计科目 这一章来尝试着创建会计科目。 …

蓝桥杯嵌入式备考笔记

keil配置 LED-KEY-LCD 留下这几个 按键 创建俩个文件写代码&#xff0c;记得把这两个文件加进工程 led uwTick 1ms执行一次 写错了 不是1000 是100 PD2 SET 表示打开锁存器 可以操作LED LED对应PC引脚拉高是熄灭 key 如果要在main使用需要extern LCD最多21位 …

通讯录(顺序表)保存数据

在通讯录的基础上加上三个函数实现数据的保存。 分别为录入数据&#xff0c;加入数据与保存数据。 加入数据 先检查通讯录空间是否足够&#xff0c;然后将结构体ab中的数据全部放入通讯录mn中。 注意&#xff1a;字符串的拷贝要使用函数strcpy而不能直接用 加入完成之后将通…

深入浅出 -- 系统架构之微服务架构

1.1 微服务的架构特征&#xff1a; 单一职责&#xff1a;微服务拆分粒度更小&#xff0c;每一个服务都对应唯一的业务能力&#xff0c;做到单一职责 自治&#xff1a;团队独立、技术独立、数据独立&#xff0c;独立部署和交付 面向服务&#xff1a;服务提供统一标准的接口&…

Java数据结构-队列

目录 1. 队列概念2. 模拟实现队列2.1 链式队列2.2 循环队列 3. 双端队列4. 队列的应用4.1 用队列实现栈4.2 用栈实现队列 1. 队列概念 队列是一种只能在一端进行插入数据操作&#xff0c;另一端进行删除数据操作的数据结构&#xff0c;插入数据的叫队尾&#xff0c;删除数据的…

若依框架mysql 搜索中文等于不生效

背景&#xff0c;字段存储的是中文 不生效代码如下 <if test"constellation ! null and constellation ! ">AND u.constellation #{constellation}</if> 正确生效的代码如下 <if test"constellation ! null and constellation ! ">A…

Python搭建编程环境-安装Python3解释器

✅作者简介&#xff1a;CSDN内容合伙人、新星计划第三季Python赛道Top1&#x1f3c5; &#x1f525;本文已收录于Python系列专栏&#xff1a;零基础学Python &#x1f4ac;订阅专栏后可私信博主进入Python学习交流群&#xff0c;进群可领取Python视频教程以及Python相关电子书…

复现k8s黄金票据学习

1.什么是黄金票据 在 Kubernetes 中&#xff0c;"黄金票据"并不是一个常见的术语。可能你想了解的是服务账户&#xff08;Service Account&#xff09;。服务账户是 Kubernetes 中用于身份验证和授权的一种机制。它们允许 Pods 或其他工作负载在 Kubernetes 集群中与…

PAC的架构细节

PAC的架构细节&#xff1f;硬件原理&#xff1f;PAC如何生成&#xff1f;如何检查&#xff1f;指令集&#xff1f;本博客探讨这些问题。

Java集合(个人整理笔记)

目录 1. 常见的集合有哪些&#xff1f; 2. 线程安全的集合有哪些&#xff1f;线程不安全的呢&#xff1f; 3. Arraylist与 LinkedList 异同点&#xff1f; 4. ArrayList 与 Vector 区别&#xff1f; 5. Array 和 ArrayList 有什么区别&#xff1f;什么时候该应 Array而不是…