当前位置: 首页 > 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…...

Three.js可视化开发:用辅助类打造交互式3D教学演示

Three.js可视化开发&#xff1a;用辅助类打造交互式3D教学演示 在数字化教育蓬勃发展的今天&#xff0c;3D可视化技术正在彻底改变传统教学模式。想象一下&#xff0c;当学生能够亲手旋转分子结构、观察物理碰撞的实时模拟&#xff0c;或是探索历史建筑的立体空间关系时&#x…...

为什么说程序 = 算法 + 数据结构

什么是程序&#xff1f;理解了算法和数据结构是什么&#xff0c;我们就能更清晰地定义程序&#xff1a;程序是算法和数据结构在特定编程语言中的具体实现。它是一系列指令的集合&#xff0c;这些指令精确地描述了如何操作&#xff08;算法&#xff09;特定组织的数据&#xff0…...

别再被VS2022的C11原子操作坑了!手把手教你正确配置项目属性(附原理图解)

VS2022中C11原子操作的深度解析与实战避坑指南 当你在VS2022中首次尝试使用stdatomic.h编写多线程计数器时&#xff0c;可能会遇到一堵由编译器错误堆砌而成的"高墙"。这些看似晦涩的报错信息背后&#xff0c;隐藏着微软编译器对C11标准支持的独特实现方式。本文将带…...

AMD Ryzen硬件调试工具实战指南:从问题诊断到系统优化

AMD Ryzen硬件调试工具实战指南&#xff1a;从问题诊断到系统优化 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…...

保姆级教程:用FLUX.2-Klein-9B在ComfyUI中快速编辑人像照片

保姆级教程&#xff1a;用FLUX.2-Klein-9B在ComfyUI中快速编辑人像照片 1. 准备工作与环境搭建 在开始使用FLUX.2-Klein-9B进行人像编辑前&#xff0c;我们需要先准备好运行环境。这个模型虽然功能强大&#xff0c;但部署过程其实非常简单&#xff0c;跟着步骤走就能快速上手…...

Ryzen平台硬件调试终极指南:从问题诊断到系统优化的实战路径

Ryzen平台硬件调试终极指南&#xff1a;从问题诊断到系统优化的实战路径 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: http…...

Fish Speech 1.5保姆级教程:零代码实现Markdown文档转语音

Fish Speech 1.5保姆级教程&#xff1a;零代码实现Markdown文档转语音 1. 为什么选择Fish Speech 1.5&#xff1f; 在日常工作中&#xff0c;我们经常需要处理大量Markdown格式的技术文档。传统的文本转语音工具往往存在几个痛点&#xff1a;声音机械生硬、无法处理Markdown特…...

开源3D资源高效检索指南:从困境诊断到场景落地的系统化方案

开源3D资源高效检索指南&#xff1a;从困境诊断到场景落地的系统化方案 【免费下载链接】sketchfab sketchfab download userscipt for Tampermonkey by firefox only 项目地址: https://gitcode.com/gh_mirrors/sk/sketchfab 资源困境分析&#xff1a;揭开3D素材获取的…...

SUPER COLORIZER项目实战:使用LaTeX撰写技术报告与效果论文

SUPER COLORIZER项目实战&#xff1a;使用LaTeX撰写技术报告与效果论文 你是不是也遇到过这种情况&#xff1f;辛辛苦苦做完了SUPER COLORIZER的实验&#xff0c;效果数据也整理好了&#xff0c;但一到写报告或论文的时候就头疼。用Word吧&#xff0c;格式调整起来太麻烦&…...

RVC效果对比实测:原声vs克隆声,你能听出区别吗?

RVC效果对比实测&#xff1a;原声vs克隆声&#xff0c;你能听出区别吗&#xff1f; 1. 引言&#xff1a;AI语音克隆技术的新突破 想象一下&#xff0c;你最喜欢的歌手正在用你的声音唱歌&#xff0c;或者你的播客节目突然有了专业播音员的音色。这不再是科幻场景&#xff0c;…...