jvm监控服务性能、以及资源使用情况

news2024/10/6 10:29:01

目录

1.前言:

2.如何监控

2.1.spring admin 

2.2.pass平台

2.3jvm 本地jdk监控本地服务

2.3.1介绍

2.3.2JVisualVM能做什么

2.3.3使用

2.4jvm 本地jdk监控远程服务

方式一

方式二


1.前言:

常规新项目上线,做非功能测试(性能测试),或者峰值测试时,常规要检查服务器性能,例如,cpu、内存、io他们的使用情况,以及波动是否合理,要进行参考了解(数据库服务器也不除外。)

2.如何监控

2.1.spring admin 

spring 自带的admin监控项目,相关资源,参考:基本使用

2.2.pass平台

现在常规服务部署流程,使用到了pass平台,附带的有监控功能,这里不进行展开了

或者可以使用第三方服务进行监控,

2.3jvm 本地jdk监控本地服务

2.3.1介绍

JVisualVM,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的).

2.3.2JVisualVM能做什么

VisualVM 是Netbeans的profile子项目,已在JDK6.0 update 7 中自带,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)。

2.3.3使用

1、监控本地的java进程

jvisualvm位于JAVA_HOME/bin目录下,如下图:

 

如果只是监控本地的java进程,是不需要配置参数的,直接打开就能够进行监控。首先我们需要在本地打开一个Java程序,例如我打开IDEA,这时在jvisualvm界面就可以看到与IDEA相关的Java进程了:

在使用jonsole、jvisualvm时,不显示本地Java进程信息

 点击一个进程,就可以看到该进程的概述信息,该进程的JVM参数以及系统属性等信息都能够查看到:

点击 “监视” 就能够看到CPU、内存、类以及线程的活动状况,点击右上角的 “堆Dump” 就能够导出内存映像文件:

点击 “线程” 就能够看到该进程内部的所有线程,以及线程的运行状况等信息。如果点击右上角的 “线程Dump” 就会导出一个内容与jstack打印内容一致的文件:

目前没有访问,空跑,这么多空闲线程,要保证稳定运行性能指标时,没有多余的空闲线程即可 

运行:正在运行的
休眠:sleep
等待:wait
驻留:线程池里面空闲的线程
监视:阻塞的线程,正在等待锁
 

 

点击 “抽样器” 界面中的 “CPU ” 就可以动态的看到每个方法的执行时间,当我们的代码执行的比较慢了,就可以通过抽样器来查看是哪一个方法执行的比较慢:

 而点击 “内存” 的话,就可以实时的、动态的查看到每个类实例对象的数量以及这些实例所占用的内存大小:

在Profiler界面上,可以对CPU、内存进行性能分析,分析后会给出分析结果:

 

 

2.4jvm 本地jdk监控远程服务

打开jvisualvm,双击 “远程” 选项,添加一个远程主机,即远程的服务器:

然后编辑catalina.sh文件,在该文件中加入如下配置内容:
```c
[root@VM-0-5-centos ~]# vim /home/tomcat/apache-tomcat-9.5.8/bin/catalina.sh
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9004 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.net.preferIPv4Stack=true -Djava.rmi.server.hostname=106.52.186.223"

配置简单说明:

-Dcom.sun.management.jmxremote添加一个jmx远程连接属性
-Dcom.sun.management.jmxremote.port=9004 指定连接的端口号
-Dcom.sun.management.jmxremote.authenticate=false 是否启用验证
-Dcom.sun.management.jmxremote.ssl=false 是否启用ssl
-Djava.net.preferIPv4Stack=true 是否优先使用ipv4
-Djava.rmi.server.hostname=106.52.186.223 指定远程主机的ip地址
 

 

增加完配置后,重启Tomcat,查看是否有9004端口,有的话就代表配置成功了,如下:

[root@VM-0-5-centos ~]# netstat -lntp | grep java

回到jvisualvm中,添加JMX连接,配置连接地址和端口,如下:

 

同样的,可以像监控本地进程一样,监控远程的进程,在界面的操作上是一模一样的。唯一不同的也就是需要添加一个远程主机,然后到远程的Java进程上配置一些jmx参数而已:

以上我们是以Tomcat这种服务型的进程作为一个示例,只需要去配置Tomcat的脚本文件就可以了。那么如果我们需要监控的是自己线上跑的一个Java进程需要怎么进行配置呢?

方式一

使用这些参数,只不过是作为启动参数,在启动项目的时候加上即可,如下:

[root@VM-0-5-centos ~]#  nohup java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9004 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.net.preferIPv4Stack=true -Djava.rmi.server.hostname=106.52.186.223 -jar boke-2.0.jar  > /data/mylog.log 2>&1

方式二

编辑/etc/profile文件,在该文件中加入如下配置内容:

[root@VM-0-5-centos ~]# vi /etc/profile
export JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9004 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.net.preferIPv4Stack=true -Djava.rmi.server.hostname=106.52.186.223"

成功启动后,也是使用同样的方式进行连接,注意端口不要弄错了:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/45995.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【目标检测】Faster R-CNN的几点理解

目录:Faster R-CNN的几点理解一、Faster R-CNN概述二、R-CNN、Fast R-CNN、Faster R-CNN的对照2.1 R-CNN2.1.1 R-CNN的检测步骤2.1.2 R-CNN的主要缺点2.2 Fast R-CNN2.2.1 Fast R-CNN的检测步骤2.2.2 Fast R-CNN的缺点2.3 R-CNN、Fast R-CNN、Faster R-CNN的比较三、…

【Android App】获取照片里的位置信息及使用全球卫星导航系统(GNSS)获取位置实战(附源码和演示 超详细)

需要全部代码请点赞关注收藏后评论区留言私信~~~ 一、获取照片里的位置信息 手机拍摄的相片还保存着时间、地点、镜头参数等信息,这些信息由相片接口工具ExifInterface管理,它的常用方法说明如下: getLatLong:获取相片拍摄时候的…

双飞翼布局

实现双飞翼布局&#xff0c;两边保持不保&#xff0c;只有中间变化&#xff1a; html代码&#xff1a; ------------------------------------------------------------------------------------ <!doctype html> <html> <head> <meta charset"utf…

拼多多季报图解:营收355亿同比增65% 研发投入达27亿

雷递网 雷建平 11月28日拼多多今日发布2022年第三季度业绩报告。财报显示&#xff0c;拼多多2022年第三季度营收为355亿元&#xff0c;同比增长65.1%。受到一些项目投入延缓等偶发因素影响&#xff0c;三季度平台运营费用为176.5亿元&#xff0c;占收入的比例从上年同期的59.6&…

VH03型多功能采集仪

河北稳控科技手持振弦传感器VH03型多功能采集仪&#xff0c;是专用的多类型传感器手持式读数仪&#xff0c;主测传感类型为单弦式振弦传感器&#xff0c;辅测传感类型为电压、电流传感。采用32位ARM处理器和大尺寸全彩屏、阵列按键设计&#xff0c;在完成快速测读的同时还具备极…

高校排课系统/排课管理系统的设计与实现

摘 要 网络的广泛应用给生活带来了十分的便利。所以把高校排课与现在网络相结合&#xff0c;利用JSP技术建设高校排课系统&#xff0c;实现高校排课的信息化。则对于进一步提高高校排课发展&#xff0c;丰富高校排课经验能起到不少的促进作用。 高校排课系统能够通过互联网得到…

国民经济行业代码查询系统-公司行业代码查询

今天在申请公司的一些信息时&#xff0c;要我给公司行业的代码&#xff0c;4位&#xff0c;问了财务和高企的申请伙伴&#xff0c;都没有特别清晰&#xff0c;让百度&#xff0c;直接百度花了点时间&#xff0c;记录一下&#xff0c;帮助其他的伙伴 国民经济行业代码查询系统 …

Python的10个编程技巧,你不一定都知道

文末有Python资料下载 1. 原地交换两个数字 Python 提供了一个直观的在一行代码中赋值与交换&#xff08;变量值&#xff09;的方法&#xff0c;请参见下面的示例&#xff1a; 赋值的右侧形成了一个新的元组&#xff0c;左侧立即解析&#xff08;unpack&#xff09;那个&…

2022-安洵杯

WEB babyphp call_user_func() 函数如果传入的参数是array类型的话&#xff0c;会将数组的成员当作类名和方法&#xff0c; array(0) { } <?php //something in flag.phpclass A {public $a;public $b;public function __wakeup(){$this->a "babyhacker";…

Mathematica(36)-在Plot中画平行于y轴的线

在论文写作过程中&#xff0c;我们常常也需要画一条平行于y坐标轴的直线&#xff0c;怎么实现呢&#xff1f; 比如&#xff0c;下面的代码就是绘制了一条平行于y轴的直线&#xff0c;这条直线采用了虚线来表示 Plot[Sin[x], {x, 0, 2 Pi}, Epilog -> {Dashed, Line[{{5, -…

ISCSLP 2022 | AccentSpeech—从众包数据中学习口音来构建目标说话人的口音语音合成系统

构建带口音的语音合成系统可以增加语音合成的多样性和趣味性。然而不是每个人都能说多种口音。为了实现口音与说话人音色的自由组合&#xff0c;借助迁移学习技术&#xff0c;为没有口音数据的说话人构建口音合成系统&#xff0c;是实现“口音任意说”的有效途径。但是以往大多…

[网络工程师]-应用层协议-WWW与HTTP

1、WWW 万维网&#xff08;World Wide Web,WWW&#xff09;是一个规模巨大、可以互联的资料空间&#xff0c;该资料空间的资源依靠URL进行定位&#xff0c;通过HTTP协议传送给使用者&#xff0c;又由HTML进行文档的展现。由此可知&#xff0c;WWW的核心由三个主要标准构成&…

[附源码]SSM计算机毕业设计校园疫情防控管理系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【遥感图像:信息增强】

SDPNet: A Deep Network for Pan-Sharpening With Enhanced Information Representation &#xff08;SDPNet&#xff1a;一种增强信息表示的泛锐化深度网络&#xff09; 本文提出了一种基于表层和深层约束的全色锐化网络SDPNet&#xff0c;以解决全色锐化问题。聚焦于全色锐…

[附源码]计算机毕业设计springboot基于java的社区管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

第二证券|重磅利好!国家能源局发文,多股立马涨停!

今日早上&#xff0c;各位小伙伴有点跌懵了吧&#xff1f;不过&#xff0c;我大A盘中又支楞起来了&#xff0c;惊不惊喜&#xff1f;意不意外&#xff1f; 周一早盘&#xff0c;A股、港股直接跳空低开。A股顺利回补此前跳空高开的缺口&#xff0c;技能上现已没有跌落的空间。 …

广和通基于联发科技 T830平台的5G模组FG370率先通过CE认证测试

11月&#xff0c;广和通5G模组FG370率先通过CE认证测试&#xff0c;进而可用于无线宽带终端部署。5G模组FG370于9月启动研发&#xff0c;并于10月正式发布&#xff0c;随后仅短短一个月&#xff0c;便通过CE认证测试。至此&#xff0c;广和通5G模组FG370已进入工程送样阶段&…

快速复现 实现 facenet-pytorch 人脸识别 windows上 使用cpu实现 人脸对比

目录0 前言1 搭建环境与项目2 人脸预测与结果展示0 前言 这一次要复现的是人脸识别中的 facenet-pytorch 参考了&#xff1a; Pytorch 搭建自己的Facenet人脸识别网络&#xff08;Bubbliiiing 深度学习 教程&#xff09; https://gitee.com/xiaozhao123666/facenet-pytorch ht…

DPDK代码目录结构

DPDK功能结构 DPDK工程目录内容 dpdk-stable-18.11.11]# ls app buildtools devtools drivers GNUmakefile lib MAINTAINERS meson.build mk README usertools build config doc examples kernel license Makefile meson_opt…

Linux常用文本编辑器,及文本查看摘选的常用命令

Linux常用文本编辑器&#xff1a; Emacs&#xff1a;功能强大&#xff0c;门槛高&#xff0c;对新手不友好。 nano &#xff1a;优点是操作简单&#xff0c;缺点是无强大的命令支持复杂操作。 gedit &#xff1a;只能在有gnome的换图形化界面中使用 kedit &#xff1a; 只能在…