首页 > 其他分享 >jvm常见的分析工具

jvm常见的分析工具

时间:2023-04-14 14:33:40浏览次数:31  
标签:histo 查看 常见 pid gc jvm 进程 工具 jmap

一、命令
jmap
内存分析:
1、jps   #查到服务的进程
2、jmap -histo 进程号  #查看历史生产的实例
2.1、 jmap - histo pid | head -20  查看前20 个
3、jmap -histo:live 进程号  #查看当前存活的实例,执行过程中可能会触发一次full gc
4、jmap -histo:live 进程号 >.abc.txt  #将实例的统计情况输出到文件
5、jmap -dump:format=b,file=eureka.hprof 进程号  #堆栈详细信息输出到flie指定的文件
6、jmap -heap pid  :查看各个内存使用情况

jstat
upc分析:
6、jstat -gc pid 500 0   #每5秒小时pid进程的gc情况。其中EC EU表示年轻代的容量、使用量。OC、OU是老年代的容量、使用量
7、ps aux | grep PID  #这个进程是哪来的。属于当前状态的采样数据
8、ps -mp pid -o THREAD,tid,time  #这个进程下所有线程的情况,包含cpu占比、占用cpu的时长。属于当前状态的采样数据
9、printf “%x\n” tid  #将进程id转换为16进制
10、jstack pid |grep tid -A 30
11、pstree -p [pid] | wc -l    #查看该进程的线程数量

二、工具
jdk自带的jvisualvm

第三方Arthas

标签:histo,查看,常见,pid,gc,jvm,进程,工具,jmap
From: https://www.cnblogs.com/austdyy/p/17318205.html

相关文章

  • 3.3 Go语言从入门到精通:包管理工具之Govendor
    Govendor是Go的另一个依赖包管理工具,它的出现可以避免不同用户在clone同一个工程后从外部获取不同依赖库版本的问题,很好的弥补了GOPATH包管理的缺陷。govendor会将工程需要的依赖包添加到工程的vendor目录下,并且该目录中vendor.json文件会保存添加的依赖包的路径等信息......
  • 3.2 Go语言从入门到精通:包管理工具之GOPATH
    当我们真正用Go去做项目,或者阅读Go项目(如,Go实现的开源项目)时,不可避免的会遇到包依赖问题,一些包管理方式总是很难区分、选择。Go的包管理与Java的Maven依赖管理不太一样,起初Go的包管理方式经常会被人吐槽,但随之Go版本的升级也出现了不同的包管理方式,以满足不同的需求。今天,我们......
  • 创客开发工具 LED 显示屏 All In One
    创客开发工具LED显示屏AllInOneOLED显示屏SSD13060.96寸OLED模块4针-SSD1306技术资料(GND)链接:https://pan.baidu.com/s/13d4aumAilHTenVaGKOGj-Q?pwd=1234提取码:12340.96寸OLED模块7针-SSD1306技术资料(GND)链接:https://pan.baidu.com/s/1uxByen5j-H_Vv1yJlzYL0Q?pwd......
  • Navicat常见错误怎么处理(Rsa Public Key not Find、Generate First a serial、No All
    一:下载一键提取软件提取码:rtce1.Navicat数据库管理工具:NavicatDBeaver数据库管理工具:可以代替Navicat2.NavicatKeygenPatch:激活工具二:安装激活1.安装Navicat:直接下一步即可安装NavicatKeygenPatch:安装好后即可打开使用2.断网、关闭杀毒软件和本地防火墙3.......
  • 1、使用postman工具操作一把接口测试
    前面的搞清楚了,接口测试就简单了,其实就是几个步骤。1.拿到接口的url地址2.查看接口是用什么方式发送3.添加请求头,请求体4.发送查看返回结果,校验返回结果是否正确这个是正常的一套流程,异常的情况,就不用我多说来吧。比如参数不传值呀,传的值不正确呀,明明要求用"GET"......
  • C# 技术文档工具类
    C#类转换为SQL表SQL表转换为C#类C#类转WPFModelC#实现实体类和XML相互转换https://blog.csdn.net/u011555996/article/details/112123458C#将object对象转换为实体对象https://www.shuzhiduo.com/A/ZOJPOxAozv/动态对象转换为实体对象https://www.csframework.com/archi......
  • Centos7.9仅安装mysql8客户端工具
    说明这里的方式是通过MYSQL官网下载包进行安装Mysql客户端,直接使用yum的安装方式没试过,安装命令yuminstallmysql-devel。mysql客户端安装需要在官网上下载4个包,这里以8.0.25版本为例,要下载的包如下:mysql-community-commonmysql-community-client-pluginsmysql-community-......
  • jvm 内存结构
    jvm内存结构和java内存模型不是同一个东西线程私有线程共享程序计数器堆虚拟机栈方法区本地方法区堆外内存(Java7的永久代或JDK8的元空间、代码缓存)程序计数器也叫PC寄存器,存储下一条程序行号(严格是机器码行号),比如分支、循环、线程切换之后的唤醒等......
  • Java_JVM的内存溢出异常
     JVM的内存溢出异常在Java虚拟机规范的描述中,除了PC(程序计数器)寄存器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError异常的可能。当发生OutOfMemoryError异常时,无法用try...catch捕捉。 在开始讲解之前,在这里先简单介绍下虚拟机启动相关的一些内存设置参数。因为Ou......
  • jvm 类加载
    将字节码文件加载到jvm,并创建对应的字节码对象,然后对其进行验证、初始化等操作共5个阶段:加载、验证、准备、解析、初始化,这里只记录【加载】里的类加载器和双亲委派加载的是字节码文件通过类加载器ClassLoader把字节码文件在堆中生成代表这个class文件的java.lang.Clas......