Jvm 相关命令之:Jvm、sysprop | 学习笔记

简介: 快速学习 Jvm 相关命令之:Jvm、sysprop

开发者学堂课程【线上问题排查利器 Alibaba Arthas(上)Jvm 相关命令之:Jvm、sysprop学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/746/detail/13192


JVM 的相关命令:JYM、sysprop

 

内容介绍:

一、JYM 的作用

二、JYM 效果实操演示

三、SYSPROP

四、小结

 

一、JYM 的作用

JYM 是用来查看当前 Java 虚拟机的信息。

 

二、JYM 效果实操演示

这条命令直接在代码处输入 JYM,然后点击回车,这时需要等待其读取 JYM 当中的信息,其中内容是较多的,需要大概查看,首先最上面是运行时的一些信息,例如机器名称(MACHINA-NAME)、虚拟机开启时间(JYM-START-TIME)等,包括还有所有的类路径(CLASS-PATH),以及包括库所在的路径(LIBRARY-PATH)都会显示出来,还有一些输入参数,比如 tomcat 。

image.png

这是所有已经加载的类(CLASS-LOADING),还有现在正在加载的类的总数(LOADED-CLASS-COUNT),以及总共加载的类的总数(TOTAL-LOADED-CLASS-COUNT),还有卸载的类的总数(UNLOADED-CLASS-COUNT)等。这在不同的会话里可能看到的不一样,不同的会话会有区别。

image.png

下面还有内存管理器相关的信息(MEMORY-MANAGERS)、内存相关的信息(MEMORY)。

image.png

以及操作系统的信息(OPERATING-SYSTEM),例如 Linux 操作系统(OS),架构(ARCH),版本号(VERSION)等等。

image.png

与线程相关的信息(THREAD),线程的总数(COUNT),后台线程的总数(DAEMON-COUNT),以及虚拟机开启后所有启动的线程最大的个数(PEAK-COUNT)。还有现在总共已经开启的个数(STARTED-COUNT),因为有时候一些线程被释放了。最后一个是所有死锁的线程的个数(DEADLOCK-COUNT)。

●COUNT: JVM 当前活跃的线程数

●DAEMON-COUNT: JVM 当前活跃的守护线程数

●PEAK-COUNT:从 JVM 启动开始曾经活着的最大线程数

●STARTED-COUNT:从 JVM 启动开始总共启动过的线程次数

●DEADLOCK-COUNT: JVM 当前死锁的线程数

image.png

下面是与文件描述符相关的信息(FILE-DESCRIPTOR),最大的文件描述符(MAX-FILE-DESCRIPTOR),以及所有打开的文件描述符(OPEN-FILE-DESCRIPTOR)。

●MAX-FILE-DESCRIPTOR-COUNT: JVM 进程最大可以打开的文件描述符数

●OPEN-FILE-DESCRIPTOR-COUNT: JVM 当前打开的文件描述符数

image.png

以上是整个显示所有 Java 虚拟机当中的信息,这就是 JYM 的作用。


三、SYSPROP

1.作用

Sysprop 顾名思义,其含义为系统的属性,作用也是用来查看和修改。

Java 虚拟机的系统属性。其有查看和修改两个功能。中间除非诊断时需要,否则一般不修改。

2. 举例

(1)查看所有属性。sysprop

(2)查看单个属性,支持通过 tab 补全。sysprop java.version

[arthas@3174]$ sysprop java.version

java.version=1.8.0_221

那么先看第一个功能,第一条命令输入 sys,再按 tab 键,这时会出现同名的,显示出来的 sysprop,点击回车可以看到这时显示的是所有的系统属性,键值对,左边是键右边是值。这里显示的是比较多的。例如操作系统的版本(os.version),Java home 的路径,用户的所在国家(user.country),如果只想看其中一个就先输入 Sysprop(可以按 tab 键补全),很方便并且不需记忆。例如需要知道 Java home 的位置,就在 Sysprop 后输入 Java home,点击回车,这时系统就会告诉你,Java home 的所在路径。

(3)修改单个属性

① sysprop user.country

②user.country=Us4

③ sysprop user.country CN

④ Successfully changed the system property.

7 user.country=CN

arthas@3174]$ sysprop user.country

user.country=CN

[arthas@3174]$ sysprop user.country US

Successfully changed the system property.

user.country=US

第二个功能修改,例如现在想修改用户所在的国家,先在 sysprop后输入 user-country,点击回车,这里例如这位用户显示在中国(country=CN)。修改可以在前面输入键,后面输入值,比如输入 US,这样该用户就变成美国了,同时也可以再改回来。所以也可以在运行的时候修改一些 Java 临时的系统属性,这样便于调试。

 

四、小结

jvm相关命令

说明

dashboard

显示线程,内存,GC(垃圾回收器),系统环境等信息

Thread

显示线程信息(包括阻塞信息,繁忙线程信息等)

jvm

与 JVM 相关的信息

Sysprop

显示系统属性信息,也可以修改某个属性

相关文章
|
存储 前端开发 安全
JVM学习笔记(完结)
JVM学习笔记(完结)
|
4月前
|
Arthas 监控 数据可视化
JVM进阶调优系列(7)JVM调优监控必备命令、工具集合|实用干货
本文介绍了JVM调优监控命令及其应用,包括JDK自带工具如jps、jinfo、jstat、jstack、jmap、jhat等,以及第三方工具如Arthas、GCeasy、MAT、GCViewer等。通过这些工具,可以有效监控和优化JVM性能,解决内存泄漏、线程死锁等问题,提高系统稳定性。文章还提供了详细的命令示例和应用场景,帮助读者更好地理解和使用这些工具。
|
7月前
|
监控 Java
JVM内存问题之使用jstat命令查看GC堆百分比占比情况,应该使用哪个选项
JVM内存问题之使用jstat命令查看GC堆百分比占比情况,应该使用哪个选项
|
7月前
|
Java
JVM内存问题之jstack命令查看JVM线程快照如何解决
JVM内存问题之jstack命令查看JVM线程快照如何解决
|
7月前
|
开发者 Java
JVM内存问题之top命令的物理内存信息中,'used'和'free','avail Mem'分别表示什么
JVM内存问题之top命令的物理内存信息中,'used'和'free','avail Mem'分别表示什么
|
7月前
|
监控 Java 运维
开发与运维收集问题之jstat命令查看JVM垃圾回收情况如何解决
开发与运维收集问题之jstat命令查看JVM垃圾回收情况如何解决
91 1
|
6月前
|
Arthas Prometheus 监控
使用JDK自带工具调优JVM的常用命令
使用JDK自带工具调优JVM的常用命令
|
存储 Java
JVM学习笔记(一)—基本结构
JVM学习笔记(一)—基本结构
|
jenkins Java Shell
Jenkins 打包shell出现gradle命令不存在,jvm内存溢出
Jenkins 打包shell出现gradle命令不存在,jvm内存溢出
124 4
|
9月前
|
安全 Java
《深入理解java虚拟机》学习笔记-----郑雨迪
《深入理解java虚拟机》学习笔记-----郑雨迪
91 0