【JVM基础17】——实践-说一下JVM调优工具
目录
- 1- 引言:
- 2- ⭐核心:
- 2-1 命令工具
- jps
- jstack
- jmap
- jstat
- 2-2 可视化工具
- jconsole
- VisualVM
- 3- 小结:
- 3-1 说一下 JVM 调优的工具
1- 引言:
命令工具
- jps——进程状态信息
- jstack——查看Java进程内线程的堆栈信息
- jmap——查看堆转信息
- jhat——堆转快照分析工具
- jstat——JVM统计监测工具
可视化工具
- jconsole——对于 JVM 的内存、线程、类的监控
- VisualVM——能够监控线程、内存的情况
2- ⭐核心:
2-1 命令工具
jps
- 查看 Java 正在运行的进程状态信息

jstack
- 查看 Java 进程内线程的堆栈信息,通过 jstack + 进程 id 的方式
- 假设产生了死锁,就可以使用 jstack 来查看当前线程运行的情况。

jmap
- 用于生成堆转内存快照、内存使用情况
jmap -hearp pid

- format=b 表示以 prof 二进制格式转储 Java 堆的内存
- file= 用于指定快照 dump 文件的文件名。
什么是 dump 文件?
- 是一个进程或系统在某一给定的时间的快照。比如在进程销贵时,甚至是任何时候,我们都可以通过工具将系统或某进程的内存备份出来供调试分析用 。
- dump 文件中包含了程序运行的模块信息,线程信息,堆栈调用信息,异常信息等数据,方便系统技术人员进行错误排查。
jstat
- 是 JVM 统计监测工具,可以用来显示垃圾回收信息、类加载信息、新生代统计信息等。
①总结垃圾回收统计
jstat -gcutil pid

②垃圾回收统计
jstat -gc pid

2-2 可视化工具
jconsole
- 用于对 jvm 的内存、线程、类 的监控,是一个基于 jmx 的 GUI 性能监控工具。
- 打开方式:java 安装目录 bin目录下,直接启动 jconsole.exe 就行

VisualVM
- 能够监控线程,内存情况,查看方法的 CPU 时间和内存中的对象,已被 GC 的对象,反向查看分配的堆栈
- 打开方式:java安装目录bin目录下直接启动
**jvisualvm.exe**就行 - 查看运行中的 dump 文件。
3- 小结:
3-1 说一下 JVM 调优的工具

相关文章:
【JVM基础17】——实践-说一下JVM调优工具
目录 1- 引言:2- ⭐核心:2-1 命令工具jpsjstackjmapjstat 2-2 可视化工具jconsoleVisualVM 3- 小结:3-1 说一下 JVM 调优的工具 1- 引言: 命令工具 jps——进程状态信息jstack——查看Java进程内线程的堆栈信息jmap——查看堆转…...
【QT】Qt中Websocket的使用
一、WebSocket的定义 WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。 WebSocket使得客户端和服务器之间的数据交换变得更加简单,…...
【vue3】【elementPlus】【国际化】
1.如需从0-1开始,请参考 https://blog.csdn.net/Timeguys/article/details/140995569 2.使用 vue-i18n 模块: npm i vue-i18n3.在 src 目录下创建 locales 目录,里面创建文件:en.js、zh-cn.js、index.js 语言js文件:…...
用python实现求两个整数的最大公约数
def gcd(a, b): """计算最大公约数""" while b: a, b b, a % b return abs(a) 下面是对 gcd 函数的逐行解释: def gcd(a, b):"""计算最大公约数"""定义函数:这里定义了一个名为 gcd…...
Linux 内核源码分析---proc 文件系统
proc文件系统 进程数据文件系统(process data filesystem, procfs)装载在 /proc,缩写为 procFS。 proc 文件系统是一种虚拟文件系统,其信息不能从块设备读取。只有在读取文件内容时才动态生成相应的信息。使用proc文件系统&…...
视频号直播回放怎么下载?
一、如果是下载自己直播回放视频: 方法一:视频号助手 打开网址:视频号助手 登陆账号后。下面路径,先点击成回放, 后就可以在下面路径,下载全场回放 但是这种有个缺点,就是不能分段下载。这样…...
【第九节】python中xml解析和json编解码
目录 一、Python XML 解析 1.1 什么是XML 1.2 Python 对 XML 的解析方法 1.3 SAX解析xml 1.4 xml.dom解析xml 1.6 ElementTree解析XML 二、Python编解码json 2.1 什么是json 2.2 使用json 库 2.3 使用第三方库Demjson 一、Python XML 解析 1.1 什么是XML XML&#x…...
yolo v8部署到云服务器问题记录
环境安装 1、运行项目报错:no python application found, check your startup logs for errors 在云服务器pytorch版本安装错了,安装了GPU版本,需要安装CPU版本 # CPU only 使用下面这段代码避免出现第二个错误 pip install torch2.3.1 to…...
端口被占用,杀死进程的步骤
一、 查看所有进程占用的端口 在开始-运行-cmd,输入:netstat –ano可以查看所有进程 二、查看占用指定端口的程序 查看被那个端口占用,可以用该命令: 三、使用命令杀死进程 杀死进程,使用命令:...
接口入门(企业常见使用,一分钟搞定版)
目录 1、接口的定义 定义位置 接口内容 2、接口的使用 正常实现接口 接口当做函数参数 匿名实现接口 3、OPPO便签接口具体分析 总结一下: 1、接口的定义 定义位置 可以写在类中,但注意现在接口名字是 类名.接口名 可以单独写在一个文件 接口内…...
深入解析:Cookie 与 Session 的区别及应用场景
引言 在Web开发中,Cookie 和 Session 是两种常用的用户状态管理机制。虽然它们的目标都是在无状态的HTTP协议中维护用户的状态,但它们的工作原理和适用场景却有所不同。在本文中,我们将深入探讨 Cookie 和 Session 的区别,并通过…...
LLM金融文本分类文档说明
Python注意事项: 1,创建虚拟环境: conda create --prefixD:\software\Anaconda3\envs\finance_analysis python3.10.4 conda create -p D:/software/anaconda3/envs/finance_analysis python3.10.4 注释: D:\software\anaconda3\e…...
EI检索,2天录用,3天见刊!截稿在即,这本水刊你还不投吗?
点击关注:关注GZH【欧亚科睿学术】,GET完整版2023JCR分区列表! 🎉 🎉 🎉 🎉 恭喜!这本毕业水刊仅2天录用!3天见刊! 重要时间节点如下 2024-08-03 Sub…...
sql获取过去的小时数
TIMESTAMPDIFF(HOUR, create_time, NOW()) AS pastHours 是一条 SQL 语句的一部分,它使用 TIMESTAMPDIFF 函数来计算两个时间点之间的差异,并将结果标记为 pastHours。 让我们详细解析一下这条语句: TIMESTAMPDIFF 函数: 这个函数用于计算两…...
【Android Studio】彻底卸载
文章目录 卸载程序控制面板卸载安全软件卸载 重启计算机删除文件重启计算机 我们在Android开发时涉及重装时,如果卸载不干净,再次安装是不会正常运行项目的,接下来就让我教你如何删除干净吧。 卸载程序 控制面板卸载 control控制面板一>…...
美术版权可以当做商标使用吗
美术版权与商标的区别及不可混用性分析 在知识产权领域,美术版权和商标权是两个重要的概念,它们各自承载着不同的法律意义和保护范围。 美术版权概述 美术版权,又称著作权,是指著作权人对其创作的美术作品所享有的权利。这些作品…...
控制某些请求不记录日志
说明:由于统一拦截日志请求,导致所有匹配的请求都会打印日志,这里需要控制有些请求执行不打印日志,比如定时每隔几秒执行某些请求。 具体实现如下: 一、自定义注解,如下: /** * Description: …...
Java线程池原理剖析和应用指南
目录 Java线程池详解一、Java线程池简介池化思想池化思想的优点 二、线程池的实现原理分析实现线程池需要考虑哪些问题?线程池的简单使用示例线程池原理的简单图示 三、Executor详解Executor简介Executor框架的继承结构总结ExecutorExecutorService 四、ThreadPoolE…...
ST-LINK烧录MCU
打开ST-LINK软件: 主板断电状态下接入烧录器,烧录器USB连接电脑: 主板上电,点击连接按钮: 点击加载文件: 点击写入按钮,烧录成功后拔掉烧录器,主板重新上电...
Go - 10. * 值类型和指针类型的差异
目录 一.引言 二.接收者类型 三.代码示例 1.指针接收者 2.值接收者 3.运行结果对比 4.代码修改 5.刨根问底 四.总结 一.引言 go 语言中 func (c *Title) 和 func (c Title) 两个方法的传参差一个 * 号,二者的区别是一个是指针类型,一个是值类型…...
ESP居然能当 DNS 服务器用?内含NCSI欺骗和DNS劫持实现汉
前言 Kubernetes 本身并不复杂,是我们把它搞复杂的。无论是刻意为之还是那种虽然出于好意却将优雅的原语堆砌成 鲁布戈德堡机械 的狂热。平台最初提供的 ReplicaSets、Services、ConfigMaps,这些基础组件简单直接,甚至显得有些枯燥。但后来我…...
5个步骤彻底解锁Cursor Pro:完整免费使用方案与设备重置指南
5个步骤彻底解锁Cursor Pro:完整免费使用方案与设备重置指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached yo…...
镭神智能C32激光雷达实战:从开箱到点云可视化全流程解析
1. 开箱与硬件连接 第一次拿到镭神智能C32激光雷达时,包装箱里会有这些关键部件:雷达主机、电源适配器、网线、HDMI线(可选)和说明书。我建议先找个宽敞的工作台,把所有配件摊开检查一遍,避免遗漏。 连接步…...
ccmusic-database效果展示:Chamber cabaret art pop艺术流行高精度识别
ccmusic-database效果展示:Chamber cabaret & art pop艺术流行高精度识别 今天咱们来聊聊一个挺有意思的东西——音乐流派分类。你有没有过这种经历,听到一首歌觉得特别好听,但就是说不清它到底属于什么风格?是流行ÿ…...
赋能每一份热爱,你的专属AI创作伙伴「小加同学」来了!
这个时代,「把热爱做成事业」很难吗?有深耕内容的自媒体人,熬到深夜写文调图,却总难抓住流量密码;有奔走忙碌的OPC创业者,对需求、理素材、出方案,被琐事消磨;有坚守初心的中小商家&…...
利用C语言高性能库优化SDMatte前后处理速度
利用C语言高性能库优化SDMatte前后处理速度 1. 为什么需要优化SDMatte前后处理 在实际的图像处理项目中,我们经常会遇到这样的场景:核心AI模型推理速度很快,但前后处理却成了性能瓶颈。SDMatte作为一款优秀的图像分割工具,也面临…...
WePush邮件推送完全手册:从基础配置到批量发送的完整流程
WePush邮件推送完全手册:从基础配置到批量发送的完整流程 【免费下载链接】WePush 专注批量推送的小而美的工具,目前支持:模板消息-公众号、模板消息-小程序、微信客服消息、微信企业号/企业微信消息、阿里云短信、阿里大于模板短信 、腾讯云…...
用Flask+手机5分钟搭建临时测试服务器(Windows/Mac双平台教程)
5分钟搭建Flask移动端测试服务器:Windows与Mac双平台实战指南 每次在手机上预览网页效果都要反复上传到测试服务器?其实你的笔记本就能变身临时测试服务器。作为移动端开发者,我们经常需要快速验证页面在手机上的显示效果,而Flask…...
Ollama小白入门:从零开始使用Yi-Coder-1.5B,体验AI写代码
Ollama小白入门:从零开始使用Yi-Coder-1.5B,体验AI写代码 1. 为什么你需要Yi-Coder-1.5B 作为一个开发者,你是否经常遇到这些情况: 知道要实现什么功能,但写不出具体代码需要快速生成一些模板代码来节省时间学习新编…...
OpenClaw文件管理机器人:千问3.5-9B智能归类200+技术文档
OpenClaw文件管理机器人:千问3.5-9B智能归类200技术文档 1. 为什么需要文件管理机器人 我的下载文件夹已经变成了一个数字黑洞——里面堆积着超过200份未分类的技术文档,包括PDF白皮书、Markdown笔记、代码片段和会议录音。每次寻找特定文件都需要在混…...
