性能监控工具

25个Linux性能监控工具 vmstat是虚拟内存(virtual memory statistics)的缩写,作为一个内存监控工具,它收集和显示关于内存,进程,终端和分页和I/O阻塞的概括信息。其开发团队希望改善系统级的监控方式,通过提供关于存储,进程,网络和内存子系统的统一有序以及粒度可见的方式来进行错误排查,并可以创建系统活动记录文件以便你可以在任何时间轻松分析。它包含了CPU,内存,交换空间,磁盘和网络层的度量指标。它以一种易读易管理的格式,显示了CPU,磁盘,内存,网络,网络文件系统,进程,slabs等统计信息。 阅读详情

一、图形化监控工具:
在JDK安装目录bin下面有两个可视化监控工具
1. JConsole(Java Monitoring and Management Console) 基于JMX的可视化管理工具。
2. VisualVM(All-in-one Java Troubleshooting Tool)随JDK发布的最强大的运行监视和故障处理程序。
推荐使用VisualVM,他有很多插件,可以更方便的监控运行时JVM

二、插件监控工具:
MAT(Memory Analyzer Tool):一个基于Eclipse的内存分析工具

官网: http://www.eclipse.org/mat/
update:http://download.eclipse.org/mat/1.2/update-site/
这是eclipse的一个插件,安装后可以打开xxx.hprof文件,进行分析,比jhat更方便使用,有些时候由于线上xxx.hprof文件过大,直接使用jhat进行初步分析了,可以的话拷贝到本地分析效果更佳。

三、命令行监控工具:
这些工具都在jdk的bin目录下
1) jps(JVM Process Status Tool):JVM机进程状况工具

用来查看基于HotSpot JVM里面所有进程的具体状态, 包括进程ID,进程启动的路径等等。与unix上的ps类似,用来显示本地有权限的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。使用jps时,不需要传递进程号做为参数。
Jps也可以显示远程系统上的JAVA进程,这需要远程服务上开启了jstat服务,以及RMI注及服务,不过常用都是对本对的JAVA进程的查看。
命令格式:jps [ options ] [ hostid ]
常用参数说明:
-m 输出传递给main方法的参数,如果是内嵌的JVM则输出为null。
-l 输出应用程序主类的完整包名,或者是应用程序JAR文件的完整路径。
-v 输出传给JVM的参数。
例如:
Cmd命令行代码 收藏代码
C:\Users\Administrator>jps -lmv
1796 -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m -XX:MaxPermSize=256m
7340 sun.tools.jps.Jps -lmv -Denv.class.path=.;D:\DevTools\VM\jdk1.6.0_31\lib\dt.jar;D:\DevTools\VM\jdk1.6.0_31\lib\tools.jar; -Dapplication.home=D:\DevTools\VM\jdk1.6.0_31 -Xms8m
其中pid为1796的是我的eclipse进程,pid为7340的是jps命令本身的进程

2) jinfo(Configuration Info for Java):JVM配置信息工具

可以输出并修改运行时的java 进程的opts。用处比较简单,用于输出JAVA系统参数及命令行参数
命令格式:jinfo [ options ] [ pid ]
常用参数说明:
-flag 输出,修改,JVM命令行参数
例如:
Cmd命令行代码 收藏代码
C:\Users\Administrator>jinfo 1796
将会打印出很多jvm运行时参数信息,由于比较长这里不再打印出来,可以自己试试,内容一目了然

3) Jstack(Stack Trace for Java):JVM堆栈跟踪工具
jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项”-J-d64“
命令格式:jstack [ option ] pid
常用参数说明:
-F 当’jstack [-l] pid’没有相应的时候强制打印栈信息
-l 长列表. 打印关于锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表.
-m 打印java和native c/c++框架的所有栈信息.
-h | -help打印帮助信息
例如:
Cmd命令行代码 收藏代码
C:\Users\Administrator>jstack 1796
2013-05-22 11:42:38
Full thread dump Java HotSpot(TM) Client VM (20.6-b01 mixed mode):

“Worker-30” prio=6 tid=0x06514c00 nid=0x1018 in Object.wait() [0x056af000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)
- locked <0x1ad84a90> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)
……
……
……
……

4) jstat(JVM statistics Monitoriing Tool):JVM统计信息监视工具

对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控
命令格式:jstat [ option pid [interval [ s | ms ] [count] ] ]
常用参数说明:
-gcutil 输出已使用空间占总空间的百分比
-gccapacity 输出堆中各个区域使用到的最大和最小空间
例如:每隔1秒监控jvm内存一次,共监控5次
Cmd命令行代码 收藏代码
C:\Users\Administrator>jstat -gccapacity 1796 1s 5
NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC PGCMN PGCMX PGC PC YGC FGC
13632.0 174720.0 40896.0 4032.0 4032.0 32832.0 27328.0 349568.0 81684.0 81684.0 12288.0 262144.0 80640.0 80640.0 42 96
13632.0 174720.0 40896.0 4032.0 4032.0 32832.0 27328.0 349568.0 81684.0 81684.0 12288.0 262144.0 80640.0 80640.0 42 96
13632.0 174720.0 40896.0 4032.0 4032.0 32832.0 27328.0 349568.0 81684.0 81684.0 12288.0 262144.0 80640.0 80640.0 42 96
13632.0 174720.0 40896.0 4032.0 4032.0 32832.0 27328.0 349568.0 81684.0 81684.0 12288.0 262144.0 80640.0 80640.0 42 96
13632.0 174720.0 40896.0 4032.0 4032.0 32832.0 27328.0 349568.0 81684.0 81684.0 12288.0 262144.0 80640.0 80640.0 42 97
Cmd命令行代码 收藏代码
C:\Users\Administrator>jstat -gcutil 1796 1s 5
S0 S1 E O P YGC YGCT FGC FGCT GCT
0.00 0.00 0.52 53.35 99.77 42 0.513 99 38.119 38.632
0.00 0.00 0.52 53.35 99.77 42 0.513 99 38.119 38.632
0.00 0.00 0.52 53.35 99.77 42 0.513 99 38.119 38.632
0.00 0.00 0.52 53.35 99.77 42 0.513 99 38.119 38.632
0.00 0.00 0.52 53.35 99.77 42 0.513 99 38.119 38.632
一些术语的中文解释:
S0C:年轻代中第一个survivor(幸存区)的容量 (字节)
S1C:年轻代中第二个survivor(幸存区)的容量 (字节)
S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
EC:年轻代中Eden(伊甸园)的容量 (字节)
EU:年轻代中Eden(伊甸园)目前已使用空间 (字节)
OC:Old代的容量 (字节)
OU:Old代目前已使用空间 (字节)
PC:Perm(持久代)的容量 (字节)
PU:Perm(持久代)目前已使用空间 (字节)
YGC:从应用程序启动到采样时年轻代中gc次数
YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
FGC:从应用程序启动到采样时old代(全gc)gc次数
FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
GCT:从应用程序启动到采样时gc用的总时间(s)
NGCMN:年轻代(young)中初始化(最小)的大小 (字节)
NGCMX:年轻代(young)的最大容量 (字节)
NGC:年轻代(young)中当前的容量 (字节)
OGCMN:old代中初始化(最小)的大小 (字节)
OGCMX:old代的最大容量 (字节)
OGC:old代当前新生成的容量 (字节)
PGCMN:perm代中初始化(最小)的大小 (字节)
PGCMX:perm代的最大容量 (字节)
PGC:perm代当前新生成的容量 (字节)
S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
E:年轻代中Eden(伊甸园)已使用的占当前容量百分比
O:old代已使用的占当前容量百分比
P:perm代已使用的占当前容量百分比
S0CMX:年轻代中第一个survivor(幸存区)的最大容量 (字节)
S1CMX :年轻代中第二个survivor(幸存区)的最大容量 (字节)
ECMX:年轻代中Eden(伊甸园)的最大容量 (字节)
DSS:当前需要survivor(幸存区)的容量 (字节)(Eden区已满)
TT: 持有次数限制
MTT : 最大持有次数限制

5) jmap( Memory Map for Java):JVM内存映像工具

打印出某个java进程(使用pid)内存内的所有‘对象’的情况(如:产生那些对象,及其数量)
命令格式:jmap [ option ] pid
常用参数说明:
-dump:[live,]format=b,file= 使用二进制形式输出jvm的heap内容到文件中, live子选项是可选的,假如指定live选项,那么只输出活的对象到文件.
-histo[:live] 打印每个class的实例数目,内存占用,类全名信息. VM的内部类名字开头会加上前缀”*”. 如果live子参数加上后,只统计活的对象数量.
-F 强迫.在pid没有相应的时候使用-dump或者-histo参数. 在这个模式下,live子参数无效.
例如:以二进制形式输入当前堆内存映像到文件data.hprof中
Cmd命令行代码 收藏代码
jmap -dump:live,format=b,file=data.hprof 1796
生成的文件可以使用jhat工具进行分析,在OOM(内存溢出)时,分析大对象,非常有用
通过使用如下参数启动JVM,也可以获取到dump文件:
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=./java_pid.hprof
在jvm发生内存溢出时生成内存映像文件

6) jhat(JVM Heap Analysis Tool):JVM堆转储快照分析工具

用于对JAVA heap进行离线分析的工具,他可以对不同虚拟机中导出的heap信息文件进行分析,如LINUX上导出的文件可以拿到WINDOWS上进行分析,可以查找诸如内存方面的问题。
命令格式:jhat dumpfile(jmap生成的文件)
例如:分析jmap导出的内存映像
Cmd命令行代码 收藏代码
jhat data.hprof
执行成功后,访问http://localhost:7000即可查看内存信息,

告别第三方工具!用Windows自带蓝牙玩转BLE设备调试(保姆级图文教程) 本文详细介绍了如何利用Windows自带的蓝牙功能进行BLE设备调试,无需第三方工具。从硬件准备、系统配置到实战操作,提供保姆级图文教程,帮助开发者高效完成设备发现、数据交互等全流程调试工作。特别适合物联网开发者和智能硬件爱好者。 阅读详情

相关推荐

手把手教你在全新服务器内网安装OpenEuler 22.03 LTS SP4+ 安装 openGuass 5.0.0(LTS) 数据库

openEuler是面向数字基础设施的操作系统,支持服务器、云计算、边缘计算、嵌入式等应用场景,支持多样性计算,致力于提供安全、稳定、易用的开源服务器Linux操作系统。

cgqyw的专栏 3736

JVM排查步骤

一 、使用jps获取java应用进程号 (Java Virtual Machine Process StatusTool) jps主要用来输出JVM中运行的进程状态信息。语法格式如下: jps [options] [hostid] 如果不指定hostid就默认为当前主机或服务器。 命令行参数选项说明如下: ...

jingghe的博客 458

不只是驱动:拆解AIC8800 WiFi模组在RK Android系统的完整启动链(从DTS到HAL)

本文深入解析了AIC8800 WiFi模组在RK Android系统中的完整启动链,从设备树(DTS)配置到HAL层适配,涵盖驱动移植、固件加载及用户空间服务协同等关键环节。通过详细的技术分析和调试技巧,帮助开发者解决RK平台与AIC8800模组的兼容性问题,优化WiFi子系统性能。

weixin_30439067的博客 492

深度解析JVM性能监控工具:推荐与详细用法

VisualVM是一款免费且功能强大的JVM性能监控和分析工具,它是Java Development Kit(JDK)的一部分,因此无需额外安装。VisualVM提供了直观的用户界面,可以用于监视JVM的运行状态、线程、堆内存、垃圾回收等信息。Mission Control是Oracle JDK的附带工具套件,用于监控和管理Java应用程序的性能。它提供了一组强大的工具,包括飞行记录器(Flight Recorder)和控制台,用于实时监控和分析JVM的行为。

赵KK的博客 855

python-调用动态链接库dll/so的方法

使用python ctyeps CDLL来调用linux下的so动态链接库或windows下的dll动态链接库

XIAOXIANG233233的博客 3662

半监督的医学分割数据集(LA, Pancreas, ACDC和PROMISE12)分享

这篇文章提供了四个常用的半监督医学分割数据集,所有数据集都已经被处理成了.h5文件。下载之后就可以直接使用

qq_45691955的博客 4171

十一、JVM 监控工具

Arthas是Alibaba开源的Java诊断工具,在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。Arthas 支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。MAT 支持一种类似于 SQL 的查询语句 OQL,可以在堆中进行对象的查找和筛选。💡 自行了解吧,跟 sql 差不多。

qq_43530416的博客 994

Ubuntu20.04配置PX4环境启动或编译jmavsim 出现的错误及解决办法

错误1:ant命令未找到

Iamsonice的博客 8855

Java程序栈信息文件中的秘密

转自:http://blog.youkuaiyun.com/jackie_xiaonan/article/details/8546541   最近一段时间比较辛苦,产品上线之后问题不断,最近更出现了多个阻塞问题,全靠分析进程栈文件的内容来辅助定位问题。平心而论,做Java开发比较省心,平时开发过程中可能不像在Linux下做C/C++开发的兄弟一样,经常需要分析程序栈和Core文件,而且Java开发过程中...

iteye_5347的博客 236

【全志V821_FoxPi】6-3 GC2083 MIPI摄像头适配

本文介绍了在全志V821芯片上适配GC2083 MIPI摄像头的方案。GC2083是一款支持1080P@30fps的高性能CMOS图像传感器,采用MIPI CSI-2接口,具有低功耗特性。文章详细列出了传感器的技术参数和工作电压要求,并提供了设备树配置示例,包括CSI接口、ISP处理单元和传感器节点的具体设置。通过快速配置命令one_gc2083_sensor或手动修改设备树即可启用该摄像头模组,适用于IPC等对图像质量有要求的嵌入式应用场景。

第四维度的博客 1917

101、LLC谐振变换器的传递函数推导

文章摘要 LLC谐振变换器的传递函数推导是电源设计的关键环节。作者通过一次炸管事故案例,揭示了忽视传递函数计算的严重后果。LLC传递函数复杂的根源在于其三个谐振元件(Lr、Cr、Lm)的变频工作特性,导致增益曲线非单调变化。文章详细介绍了采用扩展描述函数法的建模思路,指出Lm对增益曲线的重要影响,并给出了传递函数的数学表达式及频率响应特性。通过实际调试案例,作者对比了错误补偿器设计(Type II)与优化方案(Type III)的效果差异,强调了实测验证的重要性。最后总结了5条实用经验,包括留足裕度、关注启

Jack010169的博客 152

JVM 性能调优监控工具

涉及工具 A、jps(Java Virtual Machine Process Status Tool) B、jstack C、jmap(Memory Map)和jhat(Java Heap Analysis Tool) D、jstat(JVM统计监测工具) E、hprof(Heap/CPU Profiling Tool) 现实企业级Java应用开发、维护中,有时候我们会碰到下面这些问题: Ou...

JAVA那些事 765

【并发编程五】c++进程通信——共享内存(shared memmory)

现代操作系统,对于内存管理,采⽤的是虚拟内存技术,也就是每个进程都有⾃⼰独⽴的虚拟内存空间,不同进程的虚拟内存映射到不同的物理内存中。所以,即使进程 A中 和 进程 B中 的虚拟地址是⼀样的,其实访问的是不同的物理内存地址,对于数据的增删查改互不影响。这样这个进程写⼊的东⻄,另外⼀个进程⻢上就能看到了,都不需要拷⻉来拷⻉去,传来传去,⼤⼤提⾼了进程间通信的速度。⽤了共享内存通信⽅式,带来新的问题,那就是如果多个进程同时修改同⼀个共享内存,很有可能就冲突了。那共享内存的⽅式,就很好的解决了这⼀问题。

junxuezheng的博客 1万+

MongoDB性能监控工具详解

在许多企业级应用中,MongoDB作为一款流行的NoSQL数据库,以其灵活的数据模型和强大的扩展性被广泛使用。然而,随着数据量的不断增长和业务需求的日益复杂,如何有效地监控MongoDB的性能,确保其稳定运行,成为了一个关键问题。以下将围绕这一场景,介绍MongoDB性能监控工具的相关知识点。场景问题:假设某电商平台的订单系统使用MongoDB存储数据,随着用户量的激增,数据库的读写性能开始出现瓶颈,导致订单处理速度变慢,用户体验下降。

MoneyHacksPro的博客 944

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

mysql开源性能监控工具

我整理的一些关于【MySQL,SQL】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://edu.51cto.com/surl=QDW3g3使用MySQL开源性能监控工具的入门指南 在开发中,监控数据库性能非常重要,以确保应用程序的稳定性和响应速度。今天,我将向你介绍如何使用MySQL开源性能监控工具。...

weixin_41036763的博客 249

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

五大最佳开源java性能监控工具

对任何应用程序而言,性能都是最重要的事情之一。我们希望用户能够获得最佳的体验,并且应用程序可以正常运行,这也就是性能监控工具存在的原因。 如果你正在寻找性能监控工具,不妨看看以下推荐的这五款开源工具,这些工具目前已经可以替代付费工具了,你可以看看是否是你的最佳选择。本文推荐的五款开源工具目前是开源社区中最受欢迎的。 1. Stagemonitor Stagemonitor提供了一个Java监...

zhuguang10的博客 4158

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

性能监控工具-操作系统性能监控

实战java虚拟机 Linux下的性能监控工具 显示系统整体资源使用情况——top命令 linux公社-top详解 top命令是linux下常用的性能工具,它能够实时的显示系统中各个进程的资源占用情况。 top - 23:30:07 up 14 min, 1 user, load average: 0.00, 0.00, 0.00 Tasks: 91 total, ...

dark 2757

Android性能监控工具使用

Android性能监控工具种类繁多,包括官方的Android Studio Profiler,以及第三方工具如LeakCanary、BlockCanary等。这些工具各有特点,但都旨在帮助开发者发现并解决应用性能问题。Android Studio Profiler是一款集成了CPU、内存、网络和GPU性能监控的官方工具。它提供了实时数据和历史记录,使开发者能够轻松定位性能瓶颈。本文详细阐述了Android性能监控工具的使用,包括工具概述、性能监控的关键指标、性能监控的实际应用和最佳实践。

2501_92487853的博客 504

idera提供的免费性能监控工具

idera提供的免费性能监控工具:https://www.idera.com/Free-Tools/SQL-check/https://www.idera.com/Free-Tools/SharePoint-perf-monitor/https://www.idera.com/Free-Tools/PowerShell-scripts/

软件质量优化 3777

Tomcat性能监控工具推荐

其中,JMX监控工具是常见的性能监控工具之一。如果您需要全面的性能监控和优化服务,可以考虑使用JMX监控工具或ELK Stack工具等主流的Tomcat性能监控工具。(2)使用方法:通过安装和配置ELK Stack工具,您可以轻松地获取Tomcat的性能数据,包括连接数、响应时间、内存使用情况等。在JMX监控工具中,您可以配置相关的JVM参数、应用列表等信息,以便更准确地监控Tomcat的性能。1. JMX监控工具:对于需要全面监控Tomcat性能的用户来说,JMX监控工具是一个不错的选择。

searchboy2025的博客 117

那些鲜为人知但非常有用的 Linux 性能监控工具

本文介绍了五款常用的 Linux 性能监控工具,涵盖了系统资源监控、日志分析、进程管理等方面,并提供了详细的安装、使用方法和示例。通过使用这些工具,可以更加有效地监控和管理 Linux 系统,及时发现并解决潜在的问题,提升系统性能和稳定性。提供全面的系统资源监控,并可生成图表和报告,适合进行性能分析和问题排查。以图形化界面呈现实时系统资源监控信息,易于理解和分析,适合快速了解系统运行状态。显示当前系统负载情况和登录用户的相关信息,适合查看系统运行状态和用户活动情况。

Lion_Long的博客 2886

JVM 性能监控工具

次博客为炼数成金JVM教程第七课 目录 系统性能监控 确定系统运行的整体状态,基本定位问题所在 Java自带的工具 查看Java程序运行细节,进一步定位问题 实战分析 案例问题 uptime 系统时间 运行时间:例子中为7分钟 连接数: 每一个终端算一个进程 1,5,15分钟内的系统平均负载:运行队列中的平均进程数 top...

cd19930508的博客 4167

Solaris性能监控工具

2 全局性能监控工具 2.1 sysperfstat sysperfstat是一款用perl编写的显示系统CPU、MEM、DISK、NET四项指标的利用率和饱和度的全局性能监控工具,由Solaris资深咨询师Brendan Gregg开发并推广,是业内较为权威的一款性能监控工具,该工具堪称经典且应用广泛。  用法:    sysperfstat [-h] | [interval [count

lotus302的专栏 3726

Spring Boot在Java领域的性能监控工具推荐

Spring Boot作为Java开发中广泛使用的框架,其性能直接影响到应用的稳定性和用户体验。性能监控工具可以帮助开发者及时发现和解决性能瓶颈,优化应用程序。本文的目的是推荐一些适用于Spring Boot在Java领域的性能监控工具,涵盖开源和商业工具,分析它们的特点、适用场景和使用方法,让开发者能够根据自己的需求选择合适的工具。范围包括常见的性能指标监控,如CPU使用率、内存占用、响应时间等,以及工具的安装、配置和基本使用。本文将首先介绍性能监控的核心概念和相关联系,让读者对性能监控有一个整体的认识。

AI开发架构师 979

APP性能监控工具

监控Android应用性能的工具

m0_37978528的博客 578
上一篇: MinorGC or FullGC
下一篇: 基于栈和基于寄存器的虚拟机
jamespengo
博客等级 码龄16年 83粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值