当前位置: 首页 > article >正文

JVM之Arthas的jvm命令

 

博主介绍:✌全网粉丝5W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌

博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+MySQL+Vue等前后端分离项目,可以在左边的分类专栏找到更多项目。《Uniapp项目案例》有几个有uniapp教程,企业实战开发。《微服务实战》专栏是本人的实战经验总结,《Spring家族及微服务系列》专注Spring、SpringMVC、SpringBoot、SpringCloud系列、Nacos等源码解读、热门面试题、架构设计等。除此之外还有不少文章等你来细细品味,更多惊喜等着你哦

🍅uniapp微信小程序🍅面试题软考题免费使用,还可以使用微信支付,扫码加群。由于维护成本问题得不到解决,可能将停止线上维护。

🍅文末获取联系🍅精彩专栏推荐订阅👇🏻👇🏻 不然下次找不到哟

Java项目案例《100套》
https://blog.csdn.net/qq_57756904/category_12173599.html
uniapp小程序《100套》

https://blog.csdn.net/qq_57756904/category_12173599.html

有需求代码永远写不完,而方法才是破解之道,抖音有实战视频课程,某马某千等培训都是2万左右,甚至广东有本科院校单单一年就得3万4年就12万学费,而且还没有包括吃饭的钱。所以很划算了。另外博客左侧有源码阅读专栏,对于求职有很大帮助,当然对于工作也是有指导意义等。在大城市求职,你面试来回一趟多多少少都在12块左右,而且一般不会一次性就通过,还得面试几家。而如果你对源码以及微服务等有深度认识,这无疑给你的面试添砖加瓦更上一层楼。

最后再送一句:最好是学会了,而不是学废了!!

2

jvm 是 Arthas 中用于查看 Java 虚拟机(JVM)相关信息的命令。它可以显示 JVM 的运行状态、内存、线程、类加载、系统属性等信息,帮助开发者快速了解 JVM 的整体情况。


1. 启动 Arthas

在终端中启动 Arthas:

java -jar arthas-boot.jar

选择需要诊断的 Java 进程(输入进程编号)。


2. jvm 命令详解

基本用法

bash

复制

jvm
  • 显示 JVM 的详细信息,包括:

    • 运行时信息:JVM 版本、启动时间、运行时间等。

    • 内存信息:堆内存、非堆内存、GC 信息等。

    • 线程信息:线程总数、守护线程数、死锁线程数等。

    • 类加载信息:已加载类数量、已卸载类数量等。

    • 系统属性:JVM 的系统属性。


查看特定信息

jvm 命令支持查看特定部分的信息,通过以下子命令实现:

1. 查看运行时信息
jvm --runtime
  • 显示 JVM 的运行时信息,包括:

    • JVM 名称、版本、启动时间、运行时间等。

2. 查看内存信息
jvm --memory
  • 显示 JVM 的内存信息,包括:

    • 堆内存、非堆内存、GC 信息等。

3. 查看线程信息
jvm --thread
  • 显示 JVM 的线程信息,包括:

    • 线程总数、守护线程数、死锁线程数等。

4. 查看类加载信息
jvm --class
  • 显示 JVM 的类加载信息,包括:

    • 已加载类数量、已卸载类数量等。

5. 查看系统属性
jvm --props
  • 显示 JVM 的系统属性,包括:

    • java.versionjava.homeos.name 等。


3. 使用场景

场景 1:查看 JVM 运行状态

  1. 启动 Arthas:

    java -jar arthas-boot.jar

  2. 使用 jvm 命令查看 JVM 运行状态:

    jvm


场景 2:查看内存使用情况

  1. 启动 Arthas:

    java -jar arthas-boot.jar

  2. 使用 jvm --memory 查看内存信息:

    jvm --memory


场景 3:查看线程信息

  1. 启动 Arthas:

    java -jar arthas-boot.jar

  2. 使用 jvm --thread 查看线程信息:

    jvm --thread


场景 4:查看系统属性

  1. 启动 Arthas:

    java -jar arthas-boot.jar

  2. 使用 jvm --props 查看系统属性:

    jvm --props


4. 示例

示例 1:查看 JVM 运行状态

jvm

输出:

plaintext

RUNTIME
----------------------------------------------------------------------------
 MACHINE-NAME: my-machine
 JVM-START-TIME: 2023-10-01 12:00:00
 MANAGEMENT-SPEC-VERSION: 1.2
 SPEC-NAME: Java Virtual Machine Specification
 SPEC-VENDOR: Oracle Corporation
 SPEC-VERSION: 1.8
 VM-NAME: Java HotSpot(TM) 64-Bit Server VM
 VM-VENDOR: Oracle Corporation
 VM-VERSION: 25.231-b11
 UPTIME: 1234567 ms

MEMORY
----------------------------------------------------------------------------
 HEAP-MEMORY-USAGE: init=268435456, used=123456789, committed=536870912, max=1073741824
 NON-HEAP-MEMORY-USAGE: init=2555904, used=12345678, committed=16777216, max=134217728
...

THREAD
----------------------------------------------------------------------------
 COUNT: 45
 DAEMON-COUNT: 5
 PEAK-COUNT: 50
 STARTED-COUNT: 100
 DEADLOCK-COUNT: 0
...

CLASS
----------------------------------------------------------------------------
 LOADED-CLASS-COUNT: 12345
 TOTAL-LOADED-CLASS-COUNT: 23456
 UNLOADED-CLASS-COUNT: 3456
...

PROPS
----------------------------------------------------------------------------
 java.version: 1.8.0_231
 java.home: /usr/lib/jvm/java-8-oracle
 os.name: Linux
 os.arch: amd64
 os.version: 4.15.0-112-generic
...

示例 2:查看内存信息

jvm --memory

输出:

plaintext

MEMORY
----------------------------------------------------------------------------
 HEAP-MEMORY-USAGE: init=268435456, used=123456789, committed=536870912, max=1073741824
 NON-HEAP-MEMORY-USAGE: init=2555904, used=12345678, committed=16777216, max=134217728
...

示例 3:查看线程信息

jvm --thread

输出:

plaintext

THREAD
----------------------------------------------------------------------------
 COUNT: 45
 DAEMON-COUNT: 5
 PEAK-COUNT: 50
 STARTED-COUNT: 100
 DEADLOCK-COUNT: 0
...

示例 4:查看系统属性

jvm --props

plaintext

PROPS
----------------------------------------------------------------------------
 java.version: 1.8.0_231
 java.home: /usr/lib/jvm/java-8-oracle
 os.name: Linux
 os.arch: amd64
 os.version: 4.15.0-112-generic
...

 

5. 总结

jvm 命令是 Arthas 中用于查看 JVM 信息的核心工具,支持以下功能:

  • 查看 JVM 运行状态:jvm 或 jvm --runtime

  • 查看内存信息:jvm --memory

  • 查看线程信息:jvm --thread

  • 查看类加载信息:jvm --class

  • 查看系统属性:jvm --props

通过 jvm 命令,可以快速了解 JVM 的整体运行状态,为性能分析和问题排查提供基础数据。

3


http://www.kler.cn/a/587777.html

相关文章:

  • 使用Python和Keras库实现基于双向门控循环单元(BiGRU)模型进行深度学习序列预测的示例
  • AGI大模型(6):提示词模型进阶
  • UE5 控件反射器查找源码方法
  • 谈谈List,Set,Map的区别
  • vscode 中打开ESP-IDF插件的欢迎页面
  • 前端面试笔试
  • Devops CI/CD
  • 【数据结构C语言】一、基本概念
  • 文件解析漏洞靶场解析全集详解
  • 数据库系统概念全面解析
  • 前端如何实现生成excel文件,并下载
  • 优化GreatSQL日志文件空间占用
  • vue3实现跨页面缓存
  • go个人论坛项目
  • 【Docker compose】neo4j容器安装apoc插件
  • Spring Boot 3.x 中 @NotNull 与 @NonNull 的深度解析
  • IIS网站用myssl评级为B级
  • 【Linux】https 协议
  • Conda 常规用法指南
  • 【设计模式】从智能音箱到软件设计:探索外观模式的实际应用案例