visualvm远程监控jvm_别再说你不会 JVM 性能监控和调优了,看完这篇再发言
常用工具
常用工具主要有 JDK 自带工具与 Arthas 这两种工具。
JDK 自带工具
jps 虚拟机进程状况工具
用于查看虚拟机进程状况的工具 命令示例
$ jps15236 Jps14966 Example1
jstat 虚拟机统计信息监视工具
用于查看虚拟机的堆内存,内存信息,类的装载和卸载信息等内容
显示堆内存信息
jstat -gc 14966 S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT2048.0 2048.0 0.0 0.0 12800.0 9345.8 34304.0 26638.8 5248.0 4971.3 640.0 554.9 2 0.032 2 0.049 0.082
每隔 1000 毫秒打印堆内存信息,打印十次
查看类的装载和卸载信息
$ jstat -class 14966Loaded Bytes Unloaded Bytes Time 829 1604.4 0 0.0 0.37
Java 配置信息工具
查看JVM的启动参数
$ jinfo -flags 26472VM Flags:-XX:CICompilerCount=3 -XX:InitialHeapSize=52428800 -XX:MaxHeapSize=52428800 -XX:MaxNewSize=17301504 -XX:MinHeapDeltaBytes=524288 -XX:New
jstack Java 堆栈跟踪工具
即,对当前的内存生成相关的快照,用于保存相关的快照信息。
jmap Kava 内存映射工具
用于查看内存对象数量和内存空间占用
jhat 生成 html 类型的快照文件
$ jhat dump.hprofReading from dump.hprof...Dump file created Sun May 03 17:09:07 CST 2020Snapshot read, resolving...Resolving 42293 objects...Chasing references, expect 8 dots........Eliminating duplicate references........Snapshot resolved.Started HTTP server on port 7000Server is ready
启动后,在浏览器打开,http://localhost:7000/
jvisualvm & VisualVM: 堆转储快照分析工具
和上方命令一样,直接导出文件,而不是网站
对象信息
线程信息
jconsole: JVM 性能监控
启动用户界面用于进行性能监控
启动成功以后
Arthas
阿里开源的Java诊断工具
安装
下载
wget https://alibaba.github.io/arthas/arthas-boot.jarjava -jar arthas-boot.jar
解压
unzip arthas-packaging-bin.zip
安装
sudo su adminrm -rf /home/admin/.arthas/lib/*cd arthas./install-local.sh
启动
./as.sh
help
dashboard 实时数据面板
thread 线程信息
jad 反编译类
watch 数据观测
调优
部署方式
服务器经常出现卡顿
这是由于 Full GC 时间过长导致,原因一般是
- 新生代太小,对象提前进入老年代,触发 Full GC
- 老年代较大,一次 Full GC 时间较长
解决方案是 调小 NewRatio 的值,尽可能的减少对象进入老年代
调整内存占用
直接内存
调整 XX:MaxDirectMemorySize 避免发生 OutOfMemoryError: Direct buffer memory
线程堆栈
调整 -Xss 避免发生 StackOverflowError 或 OutOfMemoryError: unable to create new native thread
从 GC 角度解决新生代大量对象存活,Minor GC 时间过长
参数调整
-XX:SurvivorRatio=65536-XX:MaxTenuringThreshold=0-XX:AlwaysTenure
作者:___mySoul
原文链接:https://blog.csdn.net/melovemingming/article/details/109568040
visualvm远程监控jvm_别再说你不会 JVM 性能监控和调优了,看完这篇再发言相关推荐
- JVM性能监控及调优篇
一,概述 1,背景说明 1)生产环境中的问题 生产环境发生了内存溢出该如何处理 生产环境应该给服务器分配多少内存合适? 如何对垃圾回收器的性能进行调优? 生产环境CPU负载飙高该如何处理? 生产环境应 ...
- 调优 | 别再说你不会 JVM 性能监控和调优了
Hi ! 我是小小,今天是本周的最后一篇,本篇将会着重讲解关于 JVM 调优和性能监控方面的内容 常用工具 常用工具主要有 JDK 自带工具与 Arthas 这两种工具. JDK 自带工具 jps 虚 ...
- jinfo java_Java自带的JVM性能监控及调优工具(jps、jinfo、jstat、jmap、javap)使用介...
JVM介绍 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的. ...
- linux进程网络监控,linux下的进程、网络、性能监控命令
Linux下的java虚拟机性能监控与故障处理命令 java包中提供了很多监控JVM的工具类,作为java程序员必须得掌握常用的几个工具,下面是几个常用的JVM性能监控与故障处理工具的介绍与使用. 1 ...
- JVM学习笔记之-JVM性能监控-JVM监控及诊断工具-GUI方式-Visual VM-JProfiler-Arthas
00-谈GUI工具前的补充 补充1:内存泄漏 内存泄漏的理解与分类 何为内存泄漏( memory leak) 可达性分析算法来判断对象是否是不再使用的对象,本质都是判断一个对象是否还被引用.那么对于这 ...
- JVM学习笔记之-JVM性能监控-JVM监控及诊断工具-命令行方式
性能优化的步骤 第1步(发现问题):性能监控 一种以非强行或者入侵方式收集或查看应用运营性能数据的活动. 监控通常是指一种在生产.质量评估或者开发环境下实施的带有预防或主动性的活动. 当应用相关干系人 ...
- JVM性能监控与调优之概述命令行篇
背景说明 生产环境中出现的问题 生产环境发生了内存溢出该如何处理? 生产环境应该给服务器分配多少内存合适? 如何对垃圾回收器的性能进行调优? 生产环境 CPU 负载期飙高该如何处理? 生产环境应该给应 ...
- 看完这篇文章,你就明白运维监控体系了
公众号回复:干货,领取价值58元/套IT管理体系文档 公众号回复:ITIL教材,领取最新ITIL4中文教材 正文 总结归纳运维工作中的监控内容. 监控目标 明白监控的重要性以及使用监控要实现的业务目标 ...
- Java的JVM性能监控与故障处理工具详细介绍以及使用案例
给一个系统定位问题的时候,知识.经验是关键基础,数据是依据.工具是运用知识处理数据的手段.这里说的数据包括:运行日志.异常堆栈.GC日志.线程快照文件(threaddump/javacore文件).堆 ...
最新文章
- Elastic Job从单点到高可用、同城主备、同城双活
- SLAM本质剖析-Open3D
- 存储的学习:freenas使用记录
- 查看服务器Smart Array卡
- 点到点链路上的ospf
- C#中的类02:构造对象
- matlab读取txt数据绘图(python命令行传参)
- 安卓跑linux程序_Android下运行Linux可执行程序
- 文章用图的修改和排版
- java什么是接口_Java接口是什么
- LeetCode Two Sum
- 高盛集团:金融科技布局
- 谁能告诉我war包的作用及使用方法。。。。。。
- cvCalcEMD2() 直方图匹配
- 常见单片机芯片分析简介
- 优质前端掘金小册推荐及优惠购买链接
- Spring boot Redis 乱码
- zui消息推送服务器,ZUI
- 艾欧尼亚服务器延迟正常吗,lol延迟和服务器位置有关系?为什么我的lol延迟这么高?...
- 【矩阵计算GPU加速】numpy 矩阵计算利用GPU加速,cupy包