当前位置: 首页 > news >正文

JVM调试命令与调试工具

目录

一、JDK自带命令

1、jps

2、jstat(FullGC频繁解决方案)

3、jmap

4、jhat

5、jstack(cpu占用高解决方案)

6、jinfo

二、JDK的可视化工具JConsole

1、JConsole

2、VisualVM


一、JDK自带命令

  Sun JDK监控和故障处理命令如:

1、jps

  JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程。

jsp命令格式:


jps [ options ] [ hostid ]
扩展参数:jps -l;jps -mlv;

各参数说明如下:

2、jstat(FullGC频繁解决方案)

  JVM statistics Monitoring,用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。

jstat命令格式:


jstat [ option vmid [interval[s|ms] [count]] ]
jstat -gc pid 1000 10
查看当前pid使用jvm堆栈空间的内存使用情况,每1000豪秒,共打印10次
jstat -gcutil pid 1000 10 内存百分比

3、jmap

  JVM Memory Map,用于生成heap dump文件。

jmap命令格式:


jmap [ option ] vmid

4、jhat

  JVM Heap Analysis Tool,与jmap搭配使用,用来分析jmap生成的dump,该命令解析 Java 堆转储文件并启动 Web 服务器,生成dump的分析结果后,可以在浏览器中查看。

 使用案例:

1. 导出dump信息到a.bin文件

2. 启动jhat进行分析文件

5、jstack(cpu占用高解决方案)

 用于生成虚拟机当前时刻的线程快照(一般称为threaddump或者javacore文件)。线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈集合,生成线程快照的目的通常是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间挂起等,都是导致线程长时间停顿的常见原因。

jstack命令格式:


jstack [ option ] vimd

6、jinfo

  JVM Configuration info,用于实时查看和调整虚拟机运行参数。

jinfo命令格式:

主要介绍-flag参数,如果想查看一个已经运行的java程序的虚拟机参数值


jinfo [ option ] pid
$ jinfo -flag MaxMetaspaceSize 962
-XX:MaxMetaspaceSize=18446744073709547520

二、JDK的可视化工具JConsole

1、JConsole

JConsole(Java Monitoring and Management Console)是一种基JMX(Java Management Extensions,即Java管理扩展)的可视化监视、管理工具。

  通过JDK/bin目录下的“jconsole.exe”启动JConsole后,将自动搜索出本机运行的所有虚拟机进程。

2、VisualVM

VisualVM是更常用的可视化监控工具,它本身还具有插件扩展功能,因此功能非常强大,目前使用非常多。

需要先说明的是一些安装上的问题,虽然安装好jdk之后是会有一个VisualVM的程序在jdk的bin目录下,但是不建议使用jdk提供的这个,建议直接去官网下载最新的版本使用。

下载:

VisualVM: Download

插件下载:

VisualVM: Plugins Centers

相关文章:

JVM调试命令与调试工具

目录 一、JDK自带命令 1、jps 2、jstat(FullGC频繁解决方案) 3、jmap 4、jhat 5、jstack(cpu占用高解决方案) 6、jinfo 二、JDK的可视化工具JConsole 1、JConsole 2、VisualVM 一、JDK自带命令 Sun JDK监控和故障处理命令如: 1、jps JVM Proc…...

《软件方法》第1章2023版连载(07)UML的历史和现状

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 1.3 统一建模语言UML 1.3.1 UML的历史和现状 上一节阐述了A→B→C→D的推导是不可避免的,但具体如何推导,有各种不同的做法,这些做法可以称为“方…...

chromium 54 chrome 各个版本发布功能列表(109-119)

chromium Features 109-119 From https://chromestatus.com/features chromium109 Features:12 Auto range support for font descriptors inside font-face rule Auto range support for variable fonts in ‘font-weight’, ‘font-style’ and ‘font-stretch’ descrip…...

Linux实现原理 — I/O 处理流程与优化手段

Linux I/O 接口 Linux I/O 接口可以分为以下几种类型: 文件 I/O 接口:用于对文件进行读写操作的接口,包括 open()、read()、write()、close()、lseek() 等。 网络 I/O 接口:用于网络通信的接口,包括 socket()、conne…...

第 367 场 LeetCode 周赛题解

A 找出满足差值条件的下标 I 模拟 class Solution { public:vector<int> findIndices(vector<int> &nums, int indexDifference, int valueDifference) {int n nums.size();for (int i 0; i < n; i)for (int j 0; j < i; j)if (i - j > indexDiffe…...

最新百度统计配置图文教程,获取siteId、百度统计AccessToken、百度统计代码教程

一、前言 很多网友开发者都不知道百度统计siteId、百度统计token怎么获取&#xff0c;在网上找的教程都是几年前老的教程&#xff0c;因此给大家出一期详细百度统计siteId、百度统计token、百度统计代码获取详细步骤教程。 二、登录到百度统计 1.1 登录到百度统计官网 使用…...

【C++ 学习 ㉘】- 详解 C++11 的列表初始化

目录 一、C11 简介 二、列表初始化 2.1 - 统一初始化 2.2 - 列表初始化的使用细节 2.2.1 - 聚合类型的定义 2.2.2 - 注意事项 2.3 - initializer_list 2.3.1 - 基本使用 2.3.2 - 源码剖析 一、C11 简介 1998 年&#xff0c;C 标准委员会发布了第一版 C 标准&#xff0…...

OpenCV12-图像卷积

OpenCV12-图像卷积 图像卷积 图像卷积 OpenCV中提供了filt2D()函数用于实现图像和卷积模板之间的卷积运算&#xff1a; void filter2D(InputArray src, // 输入图像OutputArray dst, // 输出图像int ddepth, // 输出图像数据类型&#xff08;深度&#xff09;&#xff…...

MVCC与BufferPool缓存机制

MVCC多版本并发控制机制 Mysql在可重复读隔离级别下如何保证事务较高的隔离性&#xff0c;我们上节课给大家演示过&#xff0c;同样的sql查询语句在一个事务里多次执行查询结果相同&#xff0c;就算其它事务对数据有修改也不会影响当前事务sql语句的查询结果。 这个隔离性就是…...

POI、Easy Excel操作Excel

文章目录 1.常用的场景2.基本功能3.Excel在Java中是一个对象4. 简单的写&#xff08;07版本&#xff08;.xlsx&#xff09;Excel&#xff09;大文件写HSSF大文件写XSSF大文件写SXSSF 5. Excel读5.1 读取遇到类型转化问题该怎么解决5.2 遇到Excel公式怎么办 6. Easy Excel6.1简单…...

网络安全(黑客)自学方向

每年报考网络安全专业的人数很多&#xff0c;但不少同学听说千万别学网络安全&#xff0c;害怕网络安全专业很难就业。下面就带大家深入了解一下网络安全专业毕业后可以干什么&#xff0c;包括网络安全专业的就业前景和方向等。 随着信息化时代的到来&#xff0c;网络安全行业…...

react写一个简单的3d滚轮picker组件

1. TreeDPicker.tsx文件 原理就不想赘述了, 想了解的话, 网址在: 使用vue写一个picker插件,使用3d滚轮的原理_vue3中支持3d picker选择器插件-CSDN博客 import React, { useEffect, useRef, Ref, useState } from "react"; import Animate from "../utils/an…...

Compose竖向列表LazyColumn

基础列表一 LazyColumn组件中用items加载数据&#xff0c;rememberLazyListState()结合rememberCoroutineScope()实现返回顶部。 /*** 基础列表一*/ Composable fun Items() {Box(modifier Modifier.fillMaxSize()) {val context LocalContext.currentval dataList arrayLi…...

6.自定义相机控制器

愿你出走半生,归来仍是少年&#xff01; Cesium For Unity自带的Dynamic Camera,拥有优秀的动态展示效果&#xff0c;但是其对于场景的交互方式用起来不是很舒服。 通过模仿Cesium JS 的交互方式&#xff0c;实现在Unity中的交互&#xff1a; 通过鼠标左键拖拽实现场景平移通过…...

一文带你GO语言入门

什么是go语言? Go语言(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go语言的主要特点包括:- 简洁和简单 - 语法简单明快,易于学习和使用 特点 高效 编译速度快,执行效率高 并发支持 原生支持并发,利用goroutine实现高效的并发…...

前后端小项目链接

1.vue的创建 vue的项目创建 1.1 vue create vue_name 1.2 Babel Router(路由) CSS Pre-processors 路由可通过&#xff1a;npm i vue-router3.5.2 -S 下载 1.3less 1.4 In dedicated config files 1.5 启动命令&#xff1a;npm run serve 端口号在vue.config。js中配置 devS…...

编辑器功能:用一个快捷键来【锁定】或【解开】Inspector面板

一、需求 我有一个脚本&#xff0c;上面暴露了许多参数&#xff0c;我要在场景中拖物体给它进行配置。 如果不锁定Inspector面板的话&#xff0c;每次点击物体后&#xff0c;Inspector的内容就是刚点击的物体的内容&#xff0c;而不是挂载脚本的参数面板。 二、 解决 &…...

Vue 网络处理 - axios 异步请求的使用,请求响应拦截器(最佳实践)

目录 一、axiox 1.1、axios 简介 1.2、axios 基本使用 1.2.1、下载核心 js 文件. 1.2.2、发送 GET 异步请求 1.2.3、发送 POST 异步请求 1.2.4、发送 GET、POST 请求最佳实践 1.3、请求响应拦截器 1.3.1、拦截器解释 1.3.2、请求拦截器的使用 1.3.3、响应拦截器的使…...

关于W5500网卡使用过程的部分问题记录

某个项目中用到了W5500这种自带网络协议栈的网卡芯片&#xff0c;由于该项目开发时间很紧&#xff0c;就临时网上买了一些模块拼凑到了一套系统&#xff0c;经过验证果真这种拼积木的方法只能用在学生实验开发中&#xff0c;真不能拿来做工程应用&#xff0c;硬件太不稳定很容易…...

Unity DOTS World Entity ArchType Component EntityManager System概述

最近DOTS终于发布了正式的版本, 我们来分享以下DOTS里面地几个关键概念&#xff0c;方便大家上手学习掌握Unity DOTS开发。 Unity DOTS 中所有的Entities 都是被放到World世界中。每个Entity在它所在的World里面有唯一不同的ID号来区分。DOTS项目中可以同时有多个World。每个W…...

幻境·流金惊艳效果:微观世界视角——细胞结构、晶体生长、电路板纹路超清生成

幻境流金惊艳效果&#xff1a;微观世界视角——细胞结构、晶体生长、电路板纹路超清生成 “流光瞬息&#xff0c;影画幻成。” 想象一下&#xff0c;你正透过一台超级显微镜&#xff0c;观察一个我们肉眼无法触及的微观世界。在那里&#xff0c;细胞壁的纹理如同精密的蜂巢&…...

TrafficMonitor插件系统:5个技巧打造你的个性化Windows监控中心

TrafficMonitor插件系统&#xff1a;5个技巧打造你的个性化Windows监控中心 【免费下载链接】TrafficMonitorPlugins 用于TrafficMonitor的插件 项目地址: https://gitcode.com/gh_mirrors/tr/TrafficMonitorPlugins 想要让Windows任务栏上的TrafficMonitor变得更加强大…...

Wan2.2-I2V-A14B开源大模型:支持LoRA微调与私有领域视频风格迁移

Wan2.2-I2V-A14B开源大模型&#xff1a;支持LoRA微调与私有领域视频风格迁移 1. 模型概述与核心能力 Wan2.2-I2V-A14B是一款开源的文生视频大模型&#xff0c;专为高质量视频生成任务设计。该模型在保持开源特性的同时&#xff0c;通过LoRA微调技术实现了对私有领域视频风格的…...

Ollama部署避坑指南:Ubuntu环境下常见错误排查与性能优化

Ollama部署避坑指南&#xff1a;Ubuntu环境下常见错误排查与性能优化 在Ubuntu系统上部署Ollama时&#xff0c;即使是经验丰富的开发者也可能遇到各种"坑"。本文将深入剖析这些常见问题&#xff0c;并提供切实可行的解决方案&#xff0c;帮助您快速定位和解决问题&am…...

3个方法解决小说断更难题:Yuedu书源库让你实现阅读自由

3个方法解决小说断更难题&#xff1a;Yuedu书源库让你实现阅读自由 【免费下载链接】Yuedu &#x1f4da;「阅读」APP 精品书源&#xff08;网络小说&#xff09; 项目地址: https://gitcode.com/gh_mirrors/yu/Yuedu 你是否经历过这样的时刻&#xff1a;深夜追更的小说…...

麦橘超然Flux部署避坑指南:常见错误与解决方法

麦橘超然Flux部署避坑指南&#xff1a;常见错误与解决方法 1. 部署前的环境准备 1.1 硬件与驱动检查 在部署麦橘超然Flux图像生成控制台前&#xff0c;确保你的硬件环境满足以下要求&#xff1a; 显卡&#xff1a;NVIDIA显卡&#xff08;RTX 3060及以上&#xff09;&#x…...

跨平台文件同步方案:OpenClaw+Qwen3-32B智能归档系统

跨平台文件同步方案&#xff1a;OpenClawQwen3-32B智能归档系统 1. 为什么需要智能文件同步 作为一个长期在多台设备间切换工作的开发者&#xff0c;我深受文件管理混乱的困扰。Mac上的设计稿、Windows里的开发文档、Linux服务器上的日志文件——这些散落在各处的数据就像一座…...

YOLOv8损失函数魔改实战:5步搞定MPDIoU集成,附metrics.py与loss.py完整修改代码

YOLOv8损失函数魔改实战&#xff1a;5步搞定MPDIoU集成&#xff0c;附metrics.py与loss.py完整修改代码 目标检测模型的性能优化往往从损失函数入手。MPDIoU作为新一代边界框回归损失函数&#xff0c;通过同时考虑两个对角点距离&#xff0c;有效解决了传统IoU系列损失在相同宽…...

美团天天神券自动化脚本终极指南:告别手动抢券,每月轻松省下200元

美团天天神券自动化脚本终极指南&#xff1a;告别手动抢券&#xff0c;每月轻松省下200元 【免费下载链接】meituan-shenquan 美团 天天神券 地区活动 自动化脚本 项目地址: https://gitcode.com/gh_mirrors/me/meituan-shenquan 你是否经常在11点、17点、21点这三个关键…...

Unity热力图性能优化实战:如何用ScriptableObject管理数据,让MeshRenderer渲染百个热点不卡顿

Unity热力图性能优化实战&#xff1a;ScriptableObject与GPU加速方案解析 当你在军事模拟系统中需要实时显示数百个单位的活动热点&#xff0c;或在智慧城市平台中可视化人流密度时&#xff0c;传统每帧重算Texture的热力点渲染方案很快就会遇到性能瓶颈。本文将分享一套经过实…...