jconsole与jvisualvm

jconsole

环境变量配置好后 直接输入在cmd 输入jconsole 即可
在这里插入图片描述
在这里插入图片描述

jvisualvm

cmd 输入jvisualvm
在这里插入图片描述
在这里插入图片描述

  1. jvisualvm 能干什么
    监控内存泄露,跟踪垃圾回收,执行时内存、cpu 分析,线程分析… 运行:正在运行的
    休眠:sleep
    等待:wait
    驻留:线程池里面的空闲线程
    监视:阻塞的线程,正在等待锁
  2. 想要看gc 记得安装插件 visual Gc
    在这里插入图片描述

在压力测试期间监听 这些Gc 指标

监控docker 上的容器 使用docker stats

Gc

1、几个常用工具
jstack 查看 jvm 线程运行状态,是否有死锁现象等等信息
jinfo 可以输出并修改运行时的 java 进程的 opts。
jps 与 unix 上的 ps 类似,用来显示本地的 java 进程,可以查看本地运行着几个 java程序,并显示他们的进程号。
jstat 一个极强的监视 VM 内存工具。可以用来监视 VM 内存内的各种堆和非堆的大小及其内存使用量。
jmap 打印出某个 java 进程(使用 pid)内存内的所有’对象’的情况(如:产生那些对象,及其数量)

2、命令示例
jstat 工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程 id,和所选参数。
jstat -class pid 显示加载 class 的数量,及所占空间等信息
jstat -compiler pid 显示 VM 实时编译的数量等信息。
jstat -gc pid 可以显示 gc 的信息,查看 gc 的次数,及时间
jstat -gccapacity pid 堆内存统计,三代(young,old,perm)内存使用和占用大小
jstat -gcnew pid 新生代垃圾回收统计在使用这些工具前,先用 JPS 命令获取当前的每个 JVM 进程号,然后选择要查看的 JVM。
jstat -gcnewcapacity pid 新生代内存统计
jstat -gcold pid 老年代垃圾回收统计除了以上一个参数外,还可以同时加上 两个数字,如:jstat -printcompilation 3024 250 6 是每 250 毫秒打印一次,一共打印 6 次,还可以加上-h3 每三行显示一下标题。
jstat -gcutil pid 1000 100 : 1000ms 统计一次 gc

jinfo 是 JDK 自带的命令,可以用来查看正在运行的 java 应用程序的扩展参数,包括 JavaSystem 属性和 JVM 命令行参数;也可以动态的修改正在运行的 JVM 一些参数。当系统崩溃时,jinfo 可以从 core 文件里面知道崩溃的 Java 应用程序的配置信息
jinfo pid 输出当前 jvm 进程的全部参数和系统属性
jinfo -flag name pid 可以查看指定的 jvm 参数的值;打印结果:-无此参数,+有
jinfo -flag [+|-]name pid 开启或者关闭对应名称的参数(无需重启虚拟机)
jinfo -flag name=value pid 修改指定参数的值
jinfo -flags pid 输出全部的参数
jinfo -sysprops pid 输出当前 jvm 进行的全部的系统属

jmap 可以生成 heap dump 文件,也可以查看堆内对象分析内存信息等,如果不使用这个命令,还可以使用-XX:+HeapDumpOnOutOfMemoryError 参数来让虚拟机出现 OOM 的时候自动生成 dump 文件。
jmap -dump:live,format=b,file=dump.hprof piddump 堆到文件,format 指定输出格式,live 指明是活着的对象,file 指定文件名。eclipse 可以打开这个文件
jmap -heap pid打印 heap 的概要信息,GC 使用的算法,heap 的配置和使用情况,可以用此来判断内存目前的使用情况以及垃圾回收情况
jmap -finalizerinfo pid 打印等待回收的对象信息
jmap -histo:live pid 打印堆的对象统计,包括对象数、内存大小等。jmap -histo:live 这个命令执行,JVM 会先触发 gc,然后再统计信息
jmap -clstats pid打印 Java 类加载器的智能统计信息,对于每个类加载器而言,对于每个类加载器而言,它的名称,活跃度,地址,父类加载器,它所加载的类的数量和大小都会被打印。此外,包含的字符串数量和大小也会被打印。
-F 强制模式。如果指定的 pid 没有响应,请使用 jmap -dump 或 jmap -histo 选项。此模式下,不支持 live 子选项。
jmap -F -histo pid

jstack 是 jdk 自带的线程堆栈分析工具,使用该命令可以查看或导出 Java 应用程序中线程堆
栈信息。
jstack pid 输出当前 jvm 进程的全部

作者声明

如有问题,欢迎指正!

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

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

相关文章

接口测试的工具(3)----postman+node.js+newman

1.安装newman:输入命令之后 一定注意 什么都不要操作 静静的等待结束就行了。 2.安装失败的对此尝试不行 在用下面的方法 解压一下就行了 3.验证是否成功 多次尝试是可以在线安装成功的

测试进程监控:确保产品质量的关键

引言: 在软件开发过程中,测试是确保产品质量的重要环节。为了提高测试效率和准确性,测试进程监控成为了不可或缺的工具。本文将介绍测试进程监控的各个方面,包括产品风险度量、缺陷度量源、测试用例(或规程&#xff09…

Unity中Shader URP最简Shader框架(ShaderGraph 转 URP Shader)

文章目录 前言一、 我们先了解一下 Shader Graph 怎么操作1、了解一下 Shader Graph 的面板信息2、修改Shader路径3、鼠标中键 或 Alt 鼠标左键 移动画布4、鼠标右键 打开创建节点菜单5、把ShaderGraph节点转化为 Shader 代码6、可以看出 URP 和 BuildIn RP 大体框架一致 二、…

【Docker-2】在 Debian 上安装 Docker 引擎

在 Debian 上安装 Docker 引擎 要开始在 Debian 上使用 Docker 引擎,请确保满足先决条件,然后按照安装步骤操作。 先决条件 操作系统要求 要安装 Docker Engine,您需要以下 Debian 之一的 64 位版本 版本: Debian Bookworm 12…

隐私计算介绍

这里只对隐私计算做一些概念性的浅显介绍,作为入门了解即可 目录 隐私计算概述隐私计算概念隐私计算背景国外各个国家和地区纷纷出台了围绕数据使用和保护的公共政策国内近年来也出台了数据安全、隐私和使用相关的政策法规 隐私计算技术发展 隐私计算技术安全多方计…

C# WPF上位机开发(usb设备访问)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 目前很多嵌入式设备都支持usb访问,特别是很多mcu都支持高速usb访问。和232、485下个比较,usb的访问速度和它们基本不在一个…

C语言求n的阶乘(n!)

从键盘输入一个数,求出这个数的阶乘,即 n!。 1、算法思想 首先要清楚阶乘定义,所谓 n 的阶乘,就是从 1 开始乘以比前一个数大 1 的数,一直乘到 n,用公式表示就是:1234…(n-2)(n-1)nn! 具体的操…

unittest自动化测试框架讲解以及实战

为什么要学习unittest 按照测试阶段来划分,可以将测试分为单元测试、集成测试、系统测试和验收测试。单元测试是指对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,通常指函数或者类,一般是开发完成的。 单元…

进程间通讯-消息队列

介绍 消息队列是一种存放在内核中的数据结构,用于在不同进程之间传递消息。它基于先进先出(FIFO)的原则,进程可以将消息发送到队列中,在需要的时候从队列中接收消息。消息队列提供了一种异步通信的方式,使…

❤Mac上后端环境工具安装使用

❤Mac上后端环境工具安装使用 Cornerstone 使用 (最好的SVN Mac软键) 使用教程 安装 由于Cornerstone是收费的,因此你可以去网上下载破解版,直接安装即可。 配置远程仓库 首先,打开CornerStone,在界面…

工业数据的特殊性和安全防护体系探索思考

随着工业互联网的发展,工业企业在生产运营管理过程中会产生各式各样数据,主要有研发设计数据、用户数据、生产运营数据、物流供应链数据等等,这样就形成了工业大数据,这些数据需要依赖企业的网络环境和应用系统进行内外部流通才能…

19、商城系统(一):项目架构图,配置前端后台开发环境,构建git项目,导入 人人开源框架并前端后台启动

目录​​​​​​​ 一、项目架构图 二、配置环境 1.配置linux (1)复制linux环境

【Python】—— NumPy基础及取值操作

NumPy基础及取值操作 第1关:ndarray对象第2关:形状操作第3关:基础操作第4关:随机数生成第5关:索引与切片 第1关:ndarray对象 任务描述 本关任务:根据本关所学知识,补全代码编辑器中…

react基于antd二次封装spin组件

目录 react基于antd二次封装spin组件组件使用组件效果 react基于antd二次封装spin组件 组件 import { Spin } from antd; import propTypes from "prop-types"; import React from react; import styleId from "styled-components"; // 使用 父div必须加…

【爬虫课堂】如何高效使用短效代理IP进行网络爬虫

目录 一、前言 二、代理IP的基本知识 三、短效代理IP的优势 四、高效使用短效代理IP的技巧 1. 多源获取代理IP 2. 质量筛选代理IP 3. 使用代理池 4. 定时更换代理IP 5. 失败重试机制 6. 监控和自动化 五、示例代码 六、结语 一、前言 网络爬虫是一种自动化程序&am…

Windbg 常用命令

Windbg 是微软开发的一款强大的调试工具,用于调试 Windows 操作系统和应用程序。它支持各种调试技术,包括用户模式和内核模式调试、本地和远程调试、源代码和汇编级别调试等。以下是 Windbg 中一些常用的命令: 标准命令: g - 继…

MongoDB中的关系

本文主要介绍MongoDB中的关系。 目录 MongoDB的关系嵌入关系引用关系 MongoDB的关系 MongoDB是一个非关系型数据库,它使用了键值对的方式来存储数据。因此,MongoDB没有像传统关系型数据库中那样的表、行和列的概念。相反,MongoDB中的关系是通…

LLM之RAG实战(五)| 高级RAG 01:使用小块检索,小块所属的大块喂给LLM,可以提高RAG性能

RAG(Retrieval Augmented Generation,检索增强生成)系统从给定的知识库中检索相关信息,从而使其能够生成事实信息、上下文相关信息和特定领域的信息。然而,在有效检索相关信息和生成高质量响应方面,RAG面临…

【网络安全】-Linux操作系统—CentOS安装、配置

文章目录 准备工作下载CentOS创建启动盘确保硬件兼容 安装CentOS启动安装程序分区硬盘网络和主机名设置开始安装完成安装 初次登录和配置更新系统安装额外的软件仓库安装网络工具配置防火墙设置SELinux安装文本编辑器配置SSH服务 总结 CentOS是一个基于Red Hat Enterprise Linu…

【MySQL】MySQL的执行计划

在数据库管理中,优化查询性能是至关重要的一环。而了解和掌握MySQL的执行计划,则是优化查询性能的关键步骤之一。本文将深入探讨MySQL的执行计划,帮助大家更好地理解和利用这一工具。 什么是MySQL的执行计划? MySQL的执行计划是…