首页 > 其他分享 >Arthas的使用并对JVM监控

Arthas的使用并对JVM监控

时间:2023-10-30 15:13:09浏览次数:52  
标签:--------------------------------------------------------------------------------

Arthas 是Alibaba开源的Java诊断工具,可以查看Java进程的一些信息,例如运行情况、JVM相关参数、线程等信息,采用命令行交互模式,在Linux用着十分方便。

安装

在Linux系统中,首先创建一个文件下,然后在该文件下执行如下命令:

curl -L https://alibaba.github.io/arthas/install.sh | sh

该命令会下载as.sh脚本,执行该脚本的用户需要和目标进程具有相同的权限。比如以admin用户来执行: sudo su admin && ./as.sh 或 sudo -u admin -EH ./as.sh。 详细的启动脚本说明,请参考这里。 如果attatch不上目标进程,可以查看~/logs/arthas/ 目录下的日志。

启动

接下来就需要执行/as.sh脚本,注意后面传入java 进程id

root@ubuntu:/usr/soft/arthas# ./as.sh 2616

启动画面如下图所示:

image

查看dashboard

输入dashboard可以查看当前进程的信息、JVM内存使用情况,还可以看到当前操作系统和Java的版本信息

$ dashboard
ID     NAME                  GROUP          PRIORI STATE   %CPU   TIME   INTERRU DAEMON 
16     nioEventLoopGroup-3-1 system         10     RUNNABL 76     0:0    false   false  
21     Timer-for-arthas-dash system         10     RUNNABL 23     0:0    false   true   
12     AsyncAppender-Worker- system         9      WAITING 0      0:0    false   true   
10     Attach Listener       system         9      RUNNABL 0      0:0    false   true   
9      Common-Cleaner        InnocuousThrea 8      TIMED_W 0      0:0    false   true   
3      Finalizer             system         8      WAITING 0      0:0    false   true   
2      Reference Handler     system         10     RUNNABL 0      0:0    false   true   
4      Signal Dispatcher     system         9      RUNNABL 0      0:0    false   true   
20     as-command-execute-da system         10     TIMED_W 0      0:0    false   true   
14     job-timeout           system         9      TIMED_W 0      0:0    false   true   
Memory             used  total max    usage GC                                          
heap               18M   39M   233M   7.90% gc.copy.count         24                    
tenured_gen        16M   27M   161M         gc.copy.time(ms)      107                   
eden_space         2M    11M   64M    4.22% gc.marksweepcompact.c 2                     
survivor_space     0K    1408K 8256K  0.00% ount                                        
nonheap            23M   27M   -1                                                       
Runtime                                                                                 
os.name               Linux                                                             
os.version            4.15.0-29-generic                                                 
java.version          10.0.2                                                            
java.home             /usr/package/jdk-10.0                                             
                      .2                                                            

查看JVM信息

输入JVM参数可以查看JVM相关信息,这对JVM调试有很大帮助。

$ jvm
 RUNTIME                                                                                
----------------------------------------------------------------------------------------
 MACHINE-NAME             2616@ubuntu                                                   
 JVM-START-TIME           2018-09-20 20:19:32                                           
 MANAGEMENT-SPEC-VERSION  2.0                                                           
 SPEC-NAME                Java Virtual Machine Specification                            
 SPEC-VENDOR              Oracle Corporation                                            
 SPEC-VERSION             10                                                            
 VM-NAME                  Java HotSpot(TM) 64-Bit Server VM                             
 VM-VENDOR                "Oracle Corporation"                                          
 VM-VERSION               10.0.2+13                                                     
 INPUT-ARGUMENTS          []                                                            
 CLASS-PATH               .:/usr/package/jdk-10.0.2/lib/                                
 BOOT-CLASS-PATH                                                                        
 LIBRARY-PATH             /usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib        
                                                                                        
----------------------------------------------------------------------------------------
 CLASS-LOADING                                                                          
----------------------------------------------------------------------------------------
 LOADED-CLASS-COUNT       2818                                                          
 TOTAL-LOADED-CLASS-COUN  2818                                                          
 T                                                                                      
 UNLOADED-CLASS-COUNT     0                                                             
 IS-VERBOSE               false                                                         
                                                                                        
----------------------------------------------------------------------------------------
 COMPILATION                                                                            
----------------------------------------------------------------------------------------
 NAME                     HotSpot 64-Bit Tiered Compilers                               
 TOTAL-COMPILE-TIME       3875(ms)                                                      
                                                                                        
----------------------------------------------------------------------------------------
 GARBAGE-COLLECTORS                                                                     
----------------------------------------------------------------------------------------
 Copy                     25/110(ms)                                                    
 [count/time]                                                                           
 MarkSweepCompact         2/108(ms)                                                     
 [count/time]                                                                           
                                                                                        
----------------------------------------------------------------------------------------
 MEMORY-MANAGERS                                                                        
----------------------------------------------------------------------------------------
 CodeCacheManager         CodeHeap 'non-nmethods'                                       
                          CodeHeap 'profiled nmethods'                                  
                          CodeHeap 'non-profiled nmethods'                              
                                                                                        
 Metaspace Manager        Metaspace                                                     
                          Compressed Class Space                                        
                                                                                        
 Copy                     Eden Space                                                    
                          Survivor Space                                                
                                                                                        
 MarkSweepCompact         Eden Space                                                    
                          Survivor Space                                                
                          Tenured Gen                                                   
                                                                                        
                                                                                        
----------------------------------------------------------------------------------------
 MEMORY                                                                                 
----------------------------------------------------------------------------------------
 HEAP-MEMORY-USAGE        41689088/16777216/245301248/18364616                          
 [committed/init/max/use                                                                
 d]                                                                                     
 NO-HEAP-MEMORY-USAGE     32047104/7667712/-1/27755016                                  
 [committed/init/max/use                                                                
 d]                                                                                     
 PENDING-FINALIZE-COUNT   0                                                             
                                                                                        
----------------------------------------------------------------------------------------
 OPERATING-SYSTEM                                                                       
----------------------------------------------------------------------------------------
 OS                       Linux                                                         
 ARCH                     amd64                                                         
 PROCESSORS-COUNT         1                                                             
 LOAD-AVERAGE             0.53                                                          
 VERSION                  4.15.0-29-generic                                             
                                                                                        
----------------------------------------------------------------------------------------
 THREAD                                                                                 
----------------------------------------------------------------------------------------
 COUNT                    14                                                            
 DAEMON-COUNT             8                                                             
 LIVE-COUNT               15                                                            
 STARTED-COUNT            17                                                            
Affect(row-cnt:0) cost in 42 ms.

class/classloader相关

  • sc——查看JVM已加载的类信息
  • sm——查看已加载类的方法信息
  • dump——dump 已加载类的 byte code 到特定目录
  • redefine——加载外部的.class文件,redefine到JVM里
  • jad——反编译指定已加载类的源码
  • classloader——查看classloader的继承树,urls,类加载信息,使用classloader去getResource

详细参考:


title: Arthas的使用并对JVM监控
tags: [Arthas,java]
author: Mingshan
categories: Java
date: 2018-9-21

标签:--------------------------------------------------------------------------------
From: https://www.cnblogs.com/mingshan/p/17793499.html

相关文章

  • 这是我在51CTO博客的第一篇博文Loki 实现 Kubernetes1.24 容器日志监控
    使用Loki实现Kubernetes1.24容器日志监控一、基本介绍1.Loki架构2.Loki工作原理二、使用Loki实现容器日志监控1.安装Loki2.安装Promtail3.安装Grafana4.验证一、基本介绍Loki是由GrafanaLabs团队开发的,基于Go语言实现,是一个水平可扩展,高可用性,多租户的日志聚合系......
  • 运维管理软件:网络设备监控的价值与实现
      随着企业业务的不断发展,各种应用系统的不断上线,网络设备的数量和复杂性也在不断增加。在这样的背景下,如何保证网络设备的稳定性和安全性已成为企业必须面对的问题。而网络设备监控作为一体化运维管理软件的重要组成部分,对于提高企业运维管理水平具有重要的意义。本文将围绕监......
  • php对接海康卫视NVR监控设备全过程
    1、确定方式用监控设备里启用:使用ISUP协议,填写服务端的网关IP,端口(这里比较坑,默认是7660,实际是7661,导致设备一直没法注册成功。)服务器端:安装海康的Gateway网关2、服务端Linux系统里安装海康的Gateway网关(官网下载)./install.sh--port=81Checkingportscompleted.Port81will......
  • 8、系统监控及进程管理
    1.进程是什么进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。在LINUX系统中进程ID用PID表示,范围从0-32768,其中**PID=1**的进程为init初始化进程。2.进程的分类进程可分为系统进程和用户进程。1)系统进程:可以执行内存资......
  • JVM 思考与总结
    相关基础知识见:深入理解JVM--垃圾收集器与内存分配策略 新生代为什么需要两个Survivor区?如果只有一个Eden区加一个Survivor区,那么MinorGC后Eden区还存活下来的对象复制到Survivor区。而Survivor区里的对象在这次MinorGC中,既有这次GC没活下来的,还有这......
  • arthas使用指南
    安装包解压 在当前路径下启动cmd输入命令java-jararthas-boot.jar会让你选择需要监听当前运行的那个项目 选择输入点击回撤以后,arthas启动成功,如下图: 当前窗口继续输入命令:watchcom.yonyougov.rest.service.api.runtime.process.FbpmProcessInstanceResource......
  • 基于AI与物联网技术的智能视频监控架构剖析
    智能视频监控系统正逐渐成为我们日常生活和工作中不可或缺的一部分。基于物联网的智能监控系统架构为我们在各个领域提供了更高效、智能化和安全的监控解决方案。本文将以旭帆科技EasyCVR视频监控云平台为例,介绍基于AI、物联网的智能监控系统的架构,并探讨其相关技术和优势。一、前......
  • 目标识别、目标追踪等计算机视觉技术在视频监控领域的应用
    随着科技的不断进步和发展,人们的科技意识也在不断提高,人工智能技术也在逐渐改变着人类的生产和生活方式,尤其是在安防监控领域,人工智能技术的落地应用越来越多。计算机视觉技术是指设备能够“看到”它正在进行的操作,并根据它所看到的情况做出快速的决策。计算机视觉使用全新的人工智......
  • 基于AI与物联网技术的智能视频监控系统架构剖析
    智能视频监控系统正逐渐成为我们日常生活和工作中不可或缺的一部分。基于物联网的智能监控系统架构为我们在各个领域提供了更高效、智能化和安全的监控解决方案。本文将以旭帆科技EasyCVR视频监控云平台为例,介绍基于AI、物联网的智能监控系统的架构,并探讨其相关技术和优势。一......
  • 介绍LiteCVR平安校园安防视频监控系统方案设计
    随着校园信息化建设的不断发展,信息服务在校园管理中的作用也越来越强。在保障学生安全与校园高效管理上,人工智能做出了极大贡献,安防监控系统LiteCVR基于互联网、大数据、云计算的智慧管理,为提高校园监管标准,推进学校信息化建设,打造数字化校园、智慧校园。1、视频监控系统高清视......