arthas之jvm相关命令

文章目录

  • 1. dashboard
  • 2. thread线程相关
  • 3. jvm
    • THREAD相关
    • 文件描述符相关
  • 4. sysprop
  • 5. 小结
  • 6. sysenv
  • 7. vmoption
  • 8. getstatic
  • 9. ognl
  • 10. 小结

1. dashboard

  • 作用:显示当前系统的实时数据面板,按q或ctrl+c退出

在这里插入图片描述

在这里插入图片描述

数据说明

  • ID: Java级别的线程ID,注意这个ID不能跟jstack中的nativeID一一对应
  • NAME: 线程名
  • GROUP: 线程组名
  • PRIORITY: 线程优先级, 1~10之间的数字,越大表示优先级越高
  • STATE: 线程的状态
  • CPU%: 线程消耗的cpu占比,采样100ms,将所有线程在这100ms内的cpu使用量求和,再算出每个线程的cpu使用占比。
  • TIME: 线程运行总时间,数据格式为分:秒
  • INTERRUPTED: 线程当前的中断位状态
  • DAEMON: 是否是daemon线程

在这里插入图片描述

2. thread线程相关

  • 作用:查看当前 JVM 的线程堆栈信息
  • 参数说明
参数名称参数说明
数字线程id
[n:]指定最忙的前N个线程并打印堆栈
[b]找出当前阻塞其他线程的线程
[i <value>]指定cpu占比统计的采样间隔,单位为毫秒
  • 举例:展示当前最忙的前3个线程并打印堆栈
thread -n 3

如:Tomcat线程中前三个最忙的。可以看到第一个线程cpu占用到100%
在这里插入图片描述

在这里插入图片描述

  • 当没有参数时,显示所有线程的信息
thread

在这里插入图片描述

  • 显示1号线程的运行堆栈
thread 1

在这里插入图片描述

  • 找出当前阻塞其他线程的线程,有时候我们发现应用卡住了, 通常是由于某个线程拿住了某个锁, 并且其他线程都在等待这把锁造成的。 为了排查这类问题, arthas提供了thread -b, 一键找出那个罪魁祸首。
thread -b

在这里插入图片描述

  • 指定采样时间间隔,每过1000毫秒采样,显示最占时间的3个线程
thread -i 1000 -n 3

在这里插入图片描述

  • 查看处于等待状态的线程
thread --state WAITING

在这里插入图片描述

3. jvm

  • 作用:查看当前 JVM 的信息

在这里插入图片描述

THREAD相关

  • COUNT: JVM当前活跃的线程数
  • DAEMON-COUNT: JVM当前活跃的守护线程数
  • PEAK-COUNT: 从JVM启动开始曾经活着的最大线程数
  • STARTED-COUNT: 从JVM启动开始总共启动过的线程次数
  • DEADLOCK-COUNT: JVM当前死锁的线程数

文件描述符相关

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

4. sysprop

  • 作用:查看和修改JVM的系统属性
  • 查看所有属性
sysprop
[arthas@896915]$ syspropKEY             VALUE                                                          
--------------------------------------------------------------------------------awt.toolkit     sun.awt.X11.XToolkit                                           file.encoding.  sun.io                                                         pkg                                                                            java.specifica  1.8                                                            tion.version                                                                   sun.cpu.isalis                                                                 t                                                                              sun.jnu.encodi  UTF-8                                                          ng                                                                             java.class.pat  math-game.jar                                                  h                                                                              java.vm.vendor  Oracle Corporation                                             sun.arch.data.  64                                                             model                                                                          java.vendor.ur  http://java.oracle.com/                                        l                                                                              user.timezone   Asia/Shanghai                                                  os.name         Linux                                                          java.vm.specif  1.8                                                            ication.versio                                                                 n                                                                              user.country    CN                                                             sun.java.launc  SUN_STANDARD                                                   her                                                                            sun.boot.libra  /www/server/java/jdk1.8.0_371/jre/lib/amd64                    ry.path                                                                        sun.java.comma  math-game.jar                                                  nd                                                                             sun.cpu.endian  little                                                         user.home       /root                                                          user.language   zh                                                             java.specifica  Oracle Corporation                                             tion.vendor                                                                    java.home       /www/server/java/jdk1.8.0_371/jre                              file.separator  /                                                              line.separator                                                                 java.vm.specif  Oracle Corporation                                             ication.vendor                                                                 java.specifica  Java Platform API Specification                                tion.name                                                                      java.awt.graph  sun.awt.X11GraphicsEnvironment                                 icsenv                                                                         sun.boot.class  /www/server/java/jdk1.8.0_371/jre/lib/resources.jar:/www/serve .path           r/java/jdk1.8.0_371/jre/lib/rt.jar:/www/server/java/jdk1.8.0_3 71/jre/lib/jsse.jar:/www/server/java/jdk1.8.0_371/jre/lib/jce. jar:/www/server/java/jdk1.8.0_371/jre/lib/charsets.jar:/www/se rver/java/jdk1.8.0_371/jre/lib/jfr.jar:/www/server/java/jdk1.8 .0_371/jre/classes                                             sun.management  HotSpot 64-Bit Tiered Compilers                                .compiler                                                                      java.runtime.v  1.8.0_371-b11                                                  ersion                                                                         user.name       root                                                           path.separator  :                                                              os.version      5.10.134-16.3.al8.x86_64                                       java.endorsed.  /www/server/java/jdk1.8.0_371/jre/lib/endorsed                 dirs                                                                           java.runtime.n  Java(TM) SE Runtime Environment                                ame                                                                            file.encoding   UTF-8                                                          java.vm.name    Java HotSpot(TM) 64-Bit Server VM                              java.vendor.ur  http://bugreport.sun.com/bugreport/                            l.bug                                                                          java.io.tmpdir  /tmp                                                           java.version    1.8.0_371                                                      user.dir        /root                                                          os.arch         amd64                                                          java.vm.specif  Java Virtual Machine Specification                             ication.name                                                                   java.awt.print  sun.print.PSPrinterJob                                         erjob                                                                          sun.os.patch.l  unknown                                                        evel                                                                           java.library.p  /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib   ath                                                                            java.vm.info    mixed mode                                                     java.vendor     Oracle Corporation                                             java.vm.versio  25.371-b11                                                     n                                                                              java.specifica  4                                                              tion.maintenan                                                                 ce.version                                                                     java.ext.dirs   /www/server/java/jdk1.8.0_371/jre/lib/ext:/usr/java/packages/l ib/ext                                                         sun.io.unicode  UnicodeLittle                                                  .encoding                                                                      java.class.ver  52.0                                                           sion
  • 查看单个属性,支持通过tab补全
sysprop java.version

在这里插入图片描述

  • 修改单个属性
sysprop user.country
user.country=USsysprop user.country CN
Successfully changed the system property.
user.country=CN

在这里插入图片描述

5. 小结

jvm相关命令说明
dashboard显示线程,内存,GC,系统环境等信息
thread显示线程信息
jvm与JVM相关的信息
sysprop显示系统属性信息,也可以修改某个属性

6. sysenv

  • 作用:查看当前JVM的环境属性(System Environment Variables)
  • 查看所有环境变量
sysenv
[arthas@896915]$ sysenvKEY             VALUE                                                          
--------------------------------------------------------------------------------BASH_FUNC_whic  () {  ( alias;                                                 h%%              eval ${which_declare} ) | /usr/bin/which --tty-only --read-al ias --read-functions --show-tilde --show-dot $@                }                                                              CLASSPATH       .:/www/server/java/jdk1.8.0_371/lib/tools.jar                  DBUS_SESSION_B  unix:path=/run/user/0/bus                                      US_ADDRESS                                                                     GOPATH          /root/goprojects                                               GOROOT          /opt/go                                                        HISTCONTROL     ignoredups                                                     HISTSIZE        1000                                                           HOME            /root                                                          HOSTNAME        iZwz9a93gvuoloyla40zjyZ                                        JAVA_HOME       /www/server/java/jdk1.8.0_371                                  LANG            zh_CN.UTF-8                                                    LESSOPEN        ||/usr/bin/lesspipe.sh %s                                      LOGNAME         root                                                           LS_COLORS       rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40; 33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43 :ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tg z=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4= 01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=0 1;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:* .lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzs t=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=0 1;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01; 31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31 :*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*. swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.m jpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*. pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.ti f=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mn g=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v =01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v= 01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01 ;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;3 5:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*. xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.og x=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.m4a=01;36:*.mid= 01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=0 1;36:*.ra=01;36:*.wav=01;36:*.oga=01;36:*.opus=01;36:*.spx=01; 36:*.xspf=01;36:                                               MAIL            /var/spool/mail/root                                           PATH            /www/server/java/jdk1.8.0_371/bin:/opt/go/bin:/usr/local/sbin: /usr/local/bin:/usr/sbin:/usr/bin:/root/bin                    PWD             /root                                                          SHELL           /bin/bash                                                      SHLVL           1                                                              SSH_CLIENT      120.231.214.28 23833 22                                        SSH_CONNECTION  120.231.214.28 23833 10.20.229.0 22                            SSH_TTY         /dev/pts/0                                                     S_COLORS        auto                                                           TERM            xterm                                                          USER            root                                                           XDG_RUNTIME_DI  /run/user/0                                                    R                                                                              XDG_SESSION_ID  178                                                            _               /www/server/java/jdk1.8.0_371/bin/java                         which_declare   declare -f
  • 查看单个环境变量
sysenv USER
[arthas@896915]$ sysenv USERKEY             VALUE                                                          
--------------------------------------------------------------------------------USER            root                                                           

7. vmoption

  • 作用:查看,更新VM诊断相关的参数

  • 查看所有的选项

vmoption

在这里插入图片描述

  • 查看指定的选项
vmoption PrintGCDetails

在这里插入图片描述

  • 更新指定的选项
vmoption PrintGCDetails true

在这里插入图片描述

8. getstatic

  • 作用:通过getstatic命令可以方便的查看类的静态属性
  • 语法
getstatic 类名 属性名
  • 举例:
显示demo.MathGame类中静态属性random
getstatic demo.MathGame random

在这里插入图片描述

9. ognl

  • 作用:执行ognl表达式,这是从3.0.5版本新增的功能
  • OGNL语法
https://commons.apache.org/dormant/commons-ognl/language-guide.html

在这里插入图片描述

  • 参数说明
参数名称参数说明
express执行的表达式
[c:]执行表达式的 ClassLoader 的 hashcode,默认值是SystemClassLoader
[x]结果对象的展开层次,默认值1
  • 举例
调用静态函数
ognl '@java.lang.System@out.println("hello")'获取静态类的静态字段
ognl '@demo.MathGame@random'执行多行表达式,赋值给临时变量,返回一个List
ognl '#value1=@System@getProperty("java.home"), #value2=@System@getProperty("java.runtime.name"), {#value1, #value2}'

在这里插入图片描述

10. 小结

jvm相关命令说明
sysenv查看JVM环境变量的值
vmoption查看JVM中选项,可以修改
getstatic获取静态成员变量
ognl执行一个ognl表达式

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

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

相关文章

小米平板 4 Plus 玩机日志

在一次偶然中&#xff0c;我从一个角落中找到了这台小米平板 4 Plus&#xff08;是的&#xff0c;现在正在用这个平板写这篇文章&#xff09;。在找到她的时候&#xff0c;她已经奄奄一息了&#xff0c;即使按动那脆弱的电源键也没有任何响应。 在给她补充能源后&#xff0c;她…

MSYS2学习笔记

前言 本文内容是MSys2 Documentation的学习笔记可以使用MSYS2编译QGis 学习笔记 什么是MSYS2&#xff1f; MSYS2&#xff08;Minimal System 2&#xff09;是一个为Windows平台打造的软件开发环境和包管理系统&#xff0c;它结合了Cygwin的POSIX兼容层、Arch Linux的pacman…

gnvm切换node版本号

1. gnvm下载官网 GNVM - Node.js version manager on Windows by Go 2. 安装 2.1 不存在 Node.js 环境 下载并解压缩 gnvm.exe 保存到任意文件夹&#xff0c;并将此文件夹加入到环境变量 Path。 2.2 存在 Node.js 环境 下载并解压缩 gnvm.exe 保存到 Node.js 所在的文件夹。 2.…

目标检测 AP 计算 实例 python

以下是使用 Python 实现目标检测中 ‌Average Precision (AP)‌ 计算的完整实例&#xff0c;包含代码和注释。这里以 ‌Pascal VOC 标准‌ 为例&#xff08;IoU阈值0.5&#xff09;。 步骤1&#xff1a;准备数据 假设&#xff1a; gt_boxes: 真实标注框列表&#xff0c;格式为 …

AWS用Glue读取S3文件上传数据到Redshift,再导出到Quicksight完整版,含VPC配置

1. 项目背景 AWS的官方文档&#xff0c;关于Glue和Vpc配置部分已经比较旧了&#xff0c;按照官方文档配置的流程始终跑不通&#xff0c;花了一番时间和波折后&#xff0c;才终于完整的跑通了。 在数据分析和商业智能&#xff08;BI&#xff09;领域&#xff0c;我们常需要将存…

SpringBoot详细教程(持续更新中...)

SpringBoot 一、概述 Springboot有哪些特点呢&#xff1f;或者说它跟Spring比有哪些优点呢&#xff1f; 1、起步依赖 通俗的说&#xff0c;就是一个依赖包含了很多个依赖&#xff1b;好处是引入所需的依赖更加简便&#xff0c;而且有效避免了依赖之间的版本冲突问题&#xf…

亚马逊玩具品类技术驱动型选品策略:从趋势洞察到合规基建

一、全球玩具电商技术演进趋势 &#xff08;技术化重构原市场背景&#xff09; 数据可视化分析&#xff1a;通过亚马逊SP-API抓取2023年玩具品类GMV分布热力图 监管技术升级&#xff1a; 美国CPSC启用AI质检系统&#xff08;缺陷识别准确率92.7%&#xff09; 欧盟EPR合规接口…

spring boot 整合redis

1.在pom文件中添加spring-boot-starter-data-redis依赖启动器 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2.编写三个实体类 RedisHash("p…

python 语法篇(一)

目录 1 正则匹配注意点11.1 正则匹配字符串写法1.2 创建re函数&#xff08;1&#xff09;re.search()--搜索第一个匹配项&#xff08;2&#xff09;re.match() - 从字符串开头匹配&#xff08;3&#xff09;re.findall() - 返回所有匹配项的列表&#xff08;4&#xff09;re.fi…

深度学习Note.4(机器学习实践)

线性回归 零. 1.paddle库的一些API paddle.rand(shape,dtype None, name None) *随机生成符合均匀分布的Tensor paddle.nromal(mean 0.0, std 1.0, shape None, name None) *随机生成符合正态分布的Tensor *输入正态分布均值&#xff0c;标准差&#xff0c; 生成结果的…

UE5学习笔记 FPS游戏制作29 更换武器时更换武器的图标

文章目录 制作物体图标UI添加获取武器图标的方法使用事件分发器&#xff0c;通知UI要换枪定义事件分发器调用事件分发器注册事件分发器 制作物体图标UI 在Fpp-UI上添加一个图片&#xff0c;改名为五weaponIcon&#xff0c;勾选SizeToContent,锚点放在右下角&#xff0c;对齐改…

RCE(自增、取反、异或)

自增: 也就是说&#xff0c;a > b&#xff0c;b > c... 所以&#xff0c;我们只要能拿到一个变量&#xff0c;其值为a&#xff0c;通过自增操作即可获得a-z中所有字符。 无字母数字构造&#xff1a; 所有敏感字符串&#xff08;ASSERT、_POST&#xff09;通过自增动态生…

从架构角度谈谈云原生架构

1、云原生架构起源 随着云服务商的成熟&#xff0c;客户面临着将服务直接使用云平台的服务部署在云平台上&#xff0c;或者采用本地和云上混合部署的模式来对外提供服务&#xff0c;从解决方案的角度来说&#xff0c;采用云原生架构的优点有&#xff1a; 可以利用云服务的管理…

Zcanpro搭配USBCANFD-200U在新能源汽车研发测试中的应用指南(周立功/致远电子)

——国产工具链的崛起与智能汽车测试新范式 引言&#xff1a;新能源汽车测试的国产化突围 随着新能源汽车智能化、网联化程度的提升&#xff0c;研发测试面临三大核心挑战&#xff1a;多协议融合&#xff08;CAN FD/LIN/以太网&#xff09;、高实时性数据交互需求、复杂工况下…

【Verilog】实验十 带倒计时交通灯控制电路设计

目录 一、实验目的 二、实验环境 三、实验任务 四、实验原理与实验步骤 1. 实验原理 2. 实验步骤 五、实验思考 代码 TOP.v trafic2_2.v shumaguan.v clk_div.v 一、实验目的 1. 掌握同步有限状态机的设计方法。 2. 采用状态机的设计方法&#xff0c;设计实现带倒…

Linux : System V 共享内存

目录 一 前言 二 共享内存概念 三 共享内存创建 四 查看共享内存 五 共享内存的删除 六 共享内存的关联 七 共享内存去关联 八 共享内存的使用&#xff08;通信&#xff09; 九 共享内存的特点 一 前言 共享内存区是最快的IPC形式&#xff08;进程间通信&#xff1…

Spring Cloud 2023.x安全升级:OAuth2.1与JWT动态轮换实战

引言&#xff1a;当安全遇上云原生&#xff0c;零停机密钥轮换成为刚需 在微服务架构中&#xff0c;OAuth2.1与JWT已成为身份验证的黄金标准&#xff0c;但传统方案存在两大痛点&#xff1a; 密钥轮换风险&#xff1a;手动替换JWT密钥需重启服务&#xff0c;导致短暂鉴权中断&…

创建私人阿里云docker镜像仓库

一.登录阿里云 https://cr.console.aliyun.com/cn-hangzhou/instances 二.创建个人实例 【实例列表】 》【创建个人实例】 》【设置Registry登录密码】 三.创建命名空间 步骤&#xff1a;【个人实例】》【命名空间】》【创建命名空间】 注:一个账号最多可以创建3个命名空…

oracle基础知识视图的定义和应用

1.1 视图的定义 视图(View)是数据库中非常重要的内容&#xff0c;在实际开发中必须学会视图的编写。 用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。视图是可以嵌套的。 视图的定义存在数据库中&#xff0c;与此定义相关的数据并没有再存一份于数据库中…

边缘计算:工业自动化的智能新引擎

在工业4.0的浪潮中&#xff0c;工业自动化正经历着前所未有的变革。随着物联网&#xff08;IoT&#xff09;技术的普及&#xff0c;越来越多的工业设备被连接到网络中&#xff0c;产生了海量的数据。然而&#xff0c;传统的云计算架构在处理这些实时性要求极高的工业数据时&…