Jstat
简介:一个极强的监控JVM内存工具。可以用来监控JVM内存内的各种堆的大小及其内存使用量、加载类的数量及占用空间信息、垃圾回收的情况。
基本语法:Jstat -Options Pid interval count (即jstat 查看选项 进程号 打印间隔时间-毫秒 打印次数-缺省则打印无数次)
Jstat –options:
jstat -class :显示加载class的数量,及所占空间等信息。
jstat -compiler :显示VM实时编译的数量等信息。
jstat -gc :显示gc的信息,查看gc的次数,及时间。
jstat -gccapacity:显示VM内存中三代(young,old,perm)对象的使用和占用大小jstat -gcnew pid:new对象的信息。
jstat -gcnewcapacity :new对象的信息及其占用量。
jstat -gcold
ld对象的信息。
jstat -gcoldcapacity
ld对象的信息及其占用量。
jstat -gcpermcapacity : perm对象的信息及其占用量。
jstat -gcutil :统计gc信息统计。
jstat -printcompilation :当前VM执行的信息。
-Options后还可以加上-h,-t,-J选项
-hn:每n行数据输出之后,打印一次表头
-t:在输出数据的第一列打印一个时间戳,这个时间戳表示JVM运行了多长时间
-J javaOption:将javaOption的值传给java应用装载器。如:-J –Xms48m:设置JVM初始内存为48M
使用分析举例一(gcutil):
命令:Jstat –gcutil 16513 1000 20
分享到:
相关推荐
本篇文章将详细阐述如何使用`top`命令查看CPU使用情况,以及如何通过`free`命令检查内存使用情况,同时也会涉及查看JVM内存使用的方法。 1. **使用`top`命令查看CPU使用情况** `top`命令提供了一个实时的全屏界面...
3. 指令集:JVM使用一套基于栈的指令集,这些指令对应于字节码,如`aload`用于加载引用到操作数栈,`iadd`用于执行整数加法等。 4. 执行引擎:解释器负责逐条解释执行字节码,而即时编译器(JIT)会将热点代码编译...
验证包括格式验证、语义验证和类型检查等步骤。 3. **准备**:在验证通过后,JVM为类的静态变量分配内存,并赋予默认初始值。这些变量存储在方法区的运行时常量池中。 4. **解析**:此时,JVM将常量池中的符号引用...
JVM使用一组寄存器来存储操作数和结果。每个线程都有自己的寄存器集合,这样可以确保多线程之间的隔离性。 ##### 内存区域 JVM内存区域主要分为以下几部分: - **方法区**:存放类的信息、常量、静态变量等。 - **...
- **堆内存分析**:"Memory"选项卡用于查看堆内存使用情况,包括对象分配、GC活动和内存泄漏检测。 - **类加载**:"Classes"选项卡展示类加载情况,包括已加载的类数量、类加载和卸载的详细信息。 - **线程分析**...
一旦启动,JProfiler11将连接到当前运行的JVM实例,实时展示内存使用情况。它的主要功能包括: 1. **内存分配和泄漏检测**:JProfiler11能详细追踪对象的创建、存活和销毁过程,帮助识别内存泄漏。通过查看对象分配...
1. **内存分析**:检查堆内存的分配情况,找出内存泄漏的可能源头。它可以显示对象的生命周期,帮助定位哪些对象被过度保留,以及哪些类加载器可能导致内存泄露。 2. **线程分析**:分析所有运行中的线程,包括它们...
GC通过检查对象的引用情况来决定何时回收内存。理想的GC应该做到及时回收不再使用的对象,避免不必要的暂停,减少内存碎片,并具有良好的可扩展性。 GC的性能评估标准包括吞吐量(应用程序运行时间与总时间的比例)...
JVM Monitor是一个实用工具,专门设计用于监控JVM的运行状态,帮助开发者检测JVM的使用情况,以便优化代码性能、诊断问题和确保应用的稳定运行。 1. **内存监控** - **堆内存**:JVM Monitor可以显示堆内存的使用...
在这种情况下,你可以尝试重新安装JRE或JDK,以获取一个新的、完整的`jvm.dll` 文件。 再者,环境变量配置不正确也可能导致问题。在Windows系统中,`JAVA_HOME` 和 `PATH` 环境变量必须设置正确,以便系统能够找到...
垃圾回收器会周期性地检查堆中的对象,标识出不再使用的对象,并回收其占用的空间。新生代和旧生代的堆结构设计是垃圾回收的一种优化手段,根据对象存活周期的不同将堆分成不同的区域,以减少全局垃圾回收的停顿时间...
- **检查官方文档**:首先查看 Oracle 官方文档,了解是否有更新版本的 JInitiator 和 JVM 推荐。 - **备份当前文件**:在进行任何更改之前,请先备份现有的 `jvm.dll` 文件,以防万一升级过程中出现问题。 - **下载...
`vmmap`工具是Mac OS X系统中一个强大的内存分析工具,它可以用来深入观察JVM内存的分配和使用情况。本文将详细讲解如何利用`vmmap`监控JVM,理解其核心概念,以及分析JVM线程。 首先,`vmmap`是Apple提供的命令行...
1. **检查JVM版本**:确保安装的JVM版本与EBS系统兼容。可能需要下载并安装特定版本的Java运行时环境(JRE)。 2. **更新或替换jvm.dll**:如果JInitiator的`jvm.dll`出现问题,可以尝试替换为已知与IE11和Win10...
4. **内存使用情况**:日志会包含JVM在崩溃时的内存使用统计,如堆、非堆内存、永久代、元空间的使用情况,这有助于分析内存泄漏或内存配置不当等问题。 5. **JNI(Java Native Interface)信息**:如果JVM与C/C++ ...
1. **类加载检查**:当JVM遇到new指令时,会检查指令参数是否能定位到类的符号引用,并确认该类是否已经完成加载、解析和初始化。如果尚未完成,则首先执行类初始化过程。 2. **内存分配**: - **规整内存**:如果...
2. **验证**:检查类的正确性。 3. **准备**:为类的静态变量分配内存并设置初始值。 4. **解析**:将符号引用转换为直接引用。 5. **初始化**:为类的静态变量赋初始值。 6. **使用**:创建对象并使用类。 7. **...
1. **检查JVM配置**:打开Idea9的配置文件,通常是`idea.vmoptions`或`idea64.vmoptions`,确保JVM路径正确,并且JVM参数设置合理。例如,增加 `-Xms` 和 `-Xmx` 参数来调整JVM的初始和最大内存分配。 2. **释放系统...
- `jmap -heap <pid>`:显示堆内存配置和使用情况。 3. 分析`dump.txt`文件: - **对象统计**:通过分析dump文件,可以得到每个类的实例数量和占用的总内存,帮助识别可能的内存泄漏。 - **对象引用**:查看对象...
了解并监控JVM的内存使用情况,对于预防和解决内存溢出错误至关重要。通过动态地调整`-Xms`和`-Xmx`参数,可以在运行时根据实际需求优化内存分配,从而提高程序的性能和稳定性。此外,定期检查和分析`heapSize`、`...