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

【Java可执行命令】(十八)可视化监控和管理工具 jconsole:获取 JVM的内存使用情况、线程活动、GC 行为等重要指标的可视化工具 ~

Java可执行命令之jconsole

  • 1️⃣ 概念
  • 2️⃣ 优势和缺点
  • 3️⃣ 使用
      • 3.1 语法格式
      • 3.2 注意事项
  • 4️⃣ 应用场景
  • 🌾 总结

在这里插入图片描述


1️⃣ 概念

jconsoleJava Development Kit (JDK) 自带的一款图形化监控和管理工具。它旨在提供一个简单而强大的界面,用于监视和管理 Java 应用程序在 Java 虚拟机 (JVM) 上的运行情况。

jconsole 提供了可视化的方式来获取有关 Java 应用程序的各种信息,包括内存使用情况、线程活动、GC 行为等重要指标。它还允许远程连接到运行中的 Java 进程,提供对远程应用程序的监控和管理能力。

jconsole命令特征如下:

  • 实时监控:实时获取应用程序的性能指标,如 CPU 使用率、内存使用情况、线程活动等;
  • 线程分析:可以查看运行中的线程及其状态,并进行死锁检测和线程 Dump 分析;
  • 垃圾回收:提供了对 Java 垃圾回收器的监控和调整功能;
  • MBean 支持:支持查看和管理 MBean (管理 Bean) 对象,用于监控和管理应用程序的各个组件;
  • 远程连接:可以连接到远程主机上运行的 Java 进程,并对其进行监控和管理。

2️⃣ 优势和缺点

优点:

  • 直观易用:jconsole 提供了直观的用户界面,使得监控和管理 Java 应用程序变得更加容易;
  • 实时监测:可以实时查看应用程序的性能指标,并根据需要进行调整和优化;
  • 远程监控:可以连接到运行在远程主机上的 Java 进程,方便地进行远程监控和管理。

缺点:

  • 功能有限:相比其他更为专业的监控工具,jconsole 的功能相对简单,并不适用于高级的监控和故障排除需求;
  • 效能损耗:在连接到远程应用程序时,jconsole 可能会对目标应用程序的性能产生一定程度的影响。

3️⃣ 使用

3.1 语法格式

jconsole 命令的使用语法如下:

用法: jconsole [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]  

对于命令中各部分的解释如下:

参数说明
-interval将更新间隔设置为 n 秒 (默认值为 4 秒)
-notile初始不平铺窗口 (对于两个或多个连接)
-pluginpath指定 jconsole 用于查找插件的路径
-version输出程序版本
connectionconnection = pid || host:port || JMX URL (service:jmx:<协议>://…)
pid目标进程的进程 ID
host远程主机名或 IP 地址
port远程连接的端口号
-J指定运行 jconsole 的 Java 虚拟机的输入参数

命令使用步骤如下:
(1)启动 jconsole:通过命令行输入 jconsole运行,打开 jconsole 工具,如图所示。

在这里插入图片描述

(2)选择目标进程:从列表中选择要监控的 Java 进程,也可以输入远程主机和端口来连接到远程进程。

在这里插入图片描述
(3)监控和管理:在 jconsole 的界面上,可以查看各种性能指标、线程、垃圾回收等信息,并根据需要进行调整和优化。

在这里插入图片描述
在“概览”页面,可以看到“堆内存使用量(单位Mb)”折线图信息、“线程数量”折线图信息及“已加载类数量” 折线图信息,并且可以手动选择“时间范围(T)”查看指定时间范围之内的各项数据信息。

(4)切换到“内存”、“线程”、“类”、“VM 概要”等页面,可以查看更详细的JVM内存、线程及其他信息,并且可以手动选择指定“时间范围(T)”,手动点击执行操作“执行GC(G)”,手动选择线程点击执行操作“检测死锁(D)”。

在这里插入图片描述

在这里插入图片描述
需要注意,频繁使用 jconsole 连接到目标应用程序可能会对目标应用程序产生性能影响,所以建议只在有需要时进行连接。
同时在连接到远程应用程序时,可以通过 -J-Dsun.rmi.dgc.client.gcInterval=<interval> 选项来调整性能监控的采样周期,以减少对目标应用程序的干扰。

3.2 注意事项

  • jconsole 默认使用 RMI 协议进行连接,因此目标应用程序必须配置为允许 RMI 连接;
  • 在连接到多个应用程序时,确保为每个应用程序使用不同的 JMX 端口;
  • 通过连接到运行中的 Java 进程,jconsole 可能具有操纵目标应用程序的能力,请谨慎操作以避免意外结果。

4️⃣ 应用场景

  • 监视应用程序的性能指标,如 CPU 使用率、内存占用等;
  • 识别潜在的性能问题,例如内存泄漏或线程死锁;
  • 基于垃圾回收情况来调整 Java 堆大小或垃圾回收器参数;
  • 连接到远程主机上的应用程序,进行远程监控和管理。

🌾 总结

jconsole 是一款强大而易用的 Java 监控和管理工具,可以帮助开发人员监视和优化应用程序的性能。它提供了实时监控、线程分析、垃圾回收等功能,并支持远程连接。尽管功能相对简单,但对于常规性能监控和故障排除已经足够。然而,对于更复杂的需求,可能需要借助其他专业的监控工具来进行深入分析和优化。

相关文章:

【Java可执行命令】(十八)可视化监控和管理工具 jconsole:获取 JVM的内存使用情况、线程活动、GC 行为等重要指标的可视化工具 ~

Java可执行命令之jconsole 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 语法格式3.2 注意事项 4️⃣ 应用场景&#x1f33e; 总结 1️⃣ 概念 jconsole 是 Java Development Kit (JDK) 自带的一款图形化监控和管理工具。它旨在提供一个简单而强大的界面&#xff0c;用于监视和管…...

leetcode做题笔记66

给定一个由 整数 组成的 非空 数组所表示的非负整数&#xff0c;在该数的基础上加一。 最高位数字存放在数组的首位&#xff0c; 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外&#xff0c;这个整数不会以零开头。 思路一&#xff1a;模拟题意 int* plusOne(i…...

【docker】设置 docker 国内镜像报错,解决方案

一、报错&#xff1a; [rootlocalhost ~]# systemctl restart docker Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.二、原因&#xf…...

mac安装nvm管理工具遇到的问题和解决方法

nvm 是一款可以管理多版本node的工具&#xff0c;因为是刚买没多久的电脑之前用的都是windows&#xff0c;昨天折腾了一下午终于倒腾好了 第一步&#xff1a; 卸载电脑已有的node&#xff1b;访问nvm脚本网址&#xff0c;另存为到电脑上任何目录&#xff0c;我是放在桌面上的…...

DocX 生成Word

当然&#xff0c;这里是一个使用DocX库在.NET Core中操作Word文档的简单示例&#xff1a; 首先&#xff0c;确保你在项目中安装了DocX库。你可以在NuGet包管理器中搜索并安装DocX。 然后&#xff0c;使用以下代码来创建一个简单的Word文档并添加一些内容&#xff1a; using …...

数据库新闻速递 -- POSTGRESQL 正在蚕食数据库市场 (翻译)

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请加 liuaustin3微信号 &#xff0c;在新加的朋友会分到3群&#xff…...

PAT 1085 Perfect Sequence

个人学习记录&#xff0c;代码难免不尽人意 Sample Input: 10 8 2 3 20 4 5 1 6 7 8 9 Sample Output: 8 #include<cstdio> #include<iostream> #include<vector> #include<algorithm> #include<string> #include<map> #include<cmath&…...

软件测试面试夺命连环十七问,你答得上来么?这都不会建议多学!

1. 给你一个网站&#xff0c;该如何测试&#xff1f;&#xff08;探究需求制订计划&#xff09; 首先&#xff0c;查找需求说明、网站设计等相关文档&#xff0c;分析测试需求。 制定测试计划&#xff0c;确定测试范围和测试策略&#xff0c;一般包括以下几个部分&#xff1a…...

【学习FreeRTOS】第5章——FreeRTOS任务挂起与恢复

1.任务的挂起与恢复的API函数 vTaskSuspend() ——挂起任务&#xff08;类似暂停&#xff0c;可恢复&#xff0c;但删除任务&#xff0c;无法恢复&#xff09;vTaskResume() ——恢复被挂起的任务xTaskResumeFromISR()—— 在中断中恢复被挂起的任务 1.1.任务挂起函数vTaskSu…...

gitblit-使用

1.登入GitBlit服务器 默认用户和密码: admin/admin 2.创建一个新的版本库 点击图中的“版本库”&#xff0c;然后点击图中“创建版本库” 填写名称和描述&#xff0c;注意名称最后一定要加 .git选择限制查看、克隆和推送勾选“加入README”和“加入.gitignore文件”在图中的1处…...

整数中1出现的次数(从1到n整数中1出现的次数)

解题思路1&#xff1a; 设定整数点&#xff08;如1、10、100等等&#xff09;作为位置点i&#xff08;对应n的各位、十位、百位等等&#xff09;&#xff0c;分别对每个数位上有多少包含1的点进行分析。 第一步&#xff1a;对n进行分割&#xff0c;分为两部分&#xff1a;高位…...

Vue2:路由

Vue2&#xff1a;路由 Date: May 28, 2023 Sum: vue-router基本使用、高级用法 单页面应用程序 概念&#xff1a;SPA【Single Page Application】是指所有的功能都在一个html页面上实现 案例&#xff1a; 单页应用网站&#xff1a; 网易云音乐 https://music.163.com/ 多页…...

【Docker】Docker的应用场景,Docker 的优点,Ubuntu Docker 安装,使用 Shell 脚本进行安装

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f…...

CentOS7 启动谷歌浏览器 java+Selenium+chrome+chromedriver

前言&#xff1a;自己想使用该技术实现自动化抓取音乐&#xff0c;目前在window上运行成功&#xff0c;需要在Linux Centos服务上跑&#xff0c;配置上出现了许多问题&#xff0c;特此记录。 参考文档&#xff1a;CentOS7 安装Seleniumchromechromedriverjava_远方丿的博客-CSD…...

【无公网IP】在公网环境下Windows远程桌面Ubuntu 18.04

【无公网IP】在公网环境下Windows远程桌面Ubuntu 18.04 文章目录 *【无*公网IP】在公网环境下Windows远程桌面Ubuntu 18.04一、 同个局域网内远程桌面Ubuntu1. 更新软件仓库2. 安装支持包3. 安装XFCE4桌面环境4. 安装XRDP5. 环境设置5.1 XFCE桌面配置5.2 在配置文件中&#xff…...

Java“牵手拼多多商品详情数据采集方法,拼多多API接口申请指南

拼多多详情接口 API 是开放平台提供的一种 API 接口&#xff0c;它可以帮助开发者获取商品的详细信息&#xff0c;包括商品的标题、描述、图片等信息。在电商平台的开发中&#xff0c;详情接口API是非常常用的 API&#xff0c;因此本文将详细介绍详情接口 API 的使用。 一、拼…...

Leetcode-每日一题【剑指 Offer 15. 二进制中1的个数】

题目 编写一个函数&#xff0c;输入是一个无符号整数&#xff08;以二进制串的形式&#xff09;&#xff0c;返回其二进制表达式中数字位数为 1 的个数&#xff08;也被称为 汉明重量).&#xff09;。 提示&#xff1a; 请注意&#xff0c;在某些语言&#xff08;如 Java&…...

docker 怎么搭建

Docker是一种容器化平台&#xff0c;可以快速构建、部署和运行应用程序。以下是Docker的搭建流程&#xff1a; 1. 安装Docker 在官方网站上下载并安装Docker&#xff0c;根据官方指引进行安装。 2. 配置Docker环境&#xff1a; 配置Docker环…...

Signal Desktop for Mac(专业加密通讯软件)中文版安装教程

想让您的聊天信息更安全和隐藏吗&#xff1f; Mac版本的Signal Desktop是MACOS上的专业加密通信工具&#xff0c;非常安全。使用信号协议&#xff0c;该协议结合了固定前密钥&#xff0c;双重RATCHES算法和3-DH握手信号&#xff0c;该信号可以确保第三方实体将不会传达您的消息…...

【博客686】k8s informer list-watch机制中的re-list与resync

k8s informer的re-list与resync 1、informer的list-watch机制 client-go中的reflector模块首先会list apiserver获取某个资源的全量信息&#xff0c;然后根据list到的resourceversion来watch资源的增量信息。且希望使用client-go编写的控制器组件在与apiserver发生连接异常时&…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...