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

排查JVM的一些命令

查看JVM相关信息的方法

环境: Win10, jdk17

查看端口的Pid

netstat -ano | findstr <端口号>

在这里插入图片描述

列出当前运行的JVM进程

## 用于输出JVM中运行的进程状态信息。通过jps,可以快速获取Java进程的PID(进程标识符),
## 从而为后续使用其他JVM工具(如jstack、jmap等)进行诊断提供便利‌
jps

在这里插入图片描述

堆栈跟踪

## 主要用于生成Java虚拟机当前时刻的线程堆栈快照。这对于分析线程死锁和长时间运行的线程非常有用。
## jstack可以定位到线程堆栈,根据堆栈信息可以定位到具体代码
jstack <pid>

在这里插入图片描述

查看内存信息

jhsdb jmap --pid <pid>

在这里插入图片描述

如果直接使用jmap可能会出现错误,网上查了一下是版本问题
在这里插入图片描述

查看JVM配置参数

## 实时查看和调整虚拟机的各项参数。使用jinfo -flag可以在运行期修改部分可写的虚拟机参数
jinfo -flags <pid>## 查看参数信息
jinfo <pid>

在这里插入图片描述

查看GC统计数据

# 1000表示每秒打印一次
jstat -gc <pid> 1000

在这里插入图片描述

使用jconsole

JConsole是JDK自带的一个监视、管理和监控Java应用程序的工具

启动jConsole

jconsole

选择需要查看的服务

在这里插入图片描述

查看堆栈,线程,内存,cpu等信息

在这里插入图片描述

查看新生代,老年代,永久代等信息

在这里插入图片描述

自带jvisualVM

jvisualvm是JDK(8)自带的一个可视化工具,主要用于查看JVM运行时的信息,比如堆内存、线程、GC信息等

java 8的直接执行jvisualVM命令即可

在这里插入图片描述

安装visual GC插件

在这里插入图片描述

在这里插入图片描述

由于网络问题可能会遇到下载不下来的情况

在这里插入图片描述

找到自己JDK对应的插件连接下载对应的visual GC就好了

在这里插入图片描述

手动导入插件

在这里插入图片描述

在这里插入图片描述

这样就可以看到JVM的实时变化了,排查频繁GC,OOM的时候就会比较明显。或者优化JVM的时候看一下

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

查看线程信息

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

CPU,线程,堆,元空间等信息

在这里插入图片描述

下载最新jvisualVM

jdk17没有就需要自己下载一下。然后根据下载的visualVM版本下载对应的插件版本
下载地址

在这里插入图片描述

在这里插入图片描述

下载好之后,解压出来就可以用了

修改visualvm_2110/visualvm_2110/etc/visualvm.conf配置文件

在这里插入图片描述

替换自己的jdk安装路径

在这里插入图片描述

保存后双击即可使用

在这里插入图片描述

安装插件(搞定网络问题后)

在这里插入图片描述

http://www.lryc.cn/news/542046.html

相关文章:

  • uni-app(位置1)
  • 某手sig3-ios算法 Chomper黑盒调用
  • 登录-05.JWT令牌-介绍
  • Mac下Python版本管理,适用于pyenv不起作用的情况
  • Ubuntu 服务器Llama Factory 搭建DeepSeek-R1微调训练环境
  • 【redis】redis内存管理,过期策略与淘汰策略
  • RabbitMQ学习—day6—死信队列与延迟队列
  • seacmsv9联合注入数据以及绕过 ORDERBY
  • day58 第十一章:图论part08
  • 网络安全-openssl工具
  • Java面试第六山!《MySQL基础知识点》
  • 云计算中的API网关是什么?为什么它很重要?
  • 【WebGL】fbo双pass案例
  • Unity面板介绍_层级面板(23.1.1)
  • 详解Nginx 配置
  • 数据库系统概念
  • 51单片机学习之旅——定时器
  • 一台服务器将docker image打包去另一天服务器安装这个镜像
  • QT串口通信之二,实现单个温湿度传感器数据的采集(采用Qt-modbus实现)
  • 基于SpringBoot的校园消费点评管理系统
  • 【小沐学Java】VSCode搭建Java开发环境
  • 《操作系统 - 清华大学》8 -4:进程管理:进程控制结构
  • RPC 框架项目剖析
  • C++ Boost面试题大全及参考答案
  • 关于Transparent native-to-ascii conversion
  • js数据类型检测
  • go 模块管理
  • 记一次复杂分页查询的优化历程:从临时表到普通表的架构演进
  • 基于 Python 的项目管理系统开发
  • java面试场景问题