JVM学习指南:监控与调试关键操作
需积分: 34 125 浏览量
更新于2024-07-18
1
收藏 758KB DOCX 举报
本篇JVM学习笔记主要涵盖了JVM(Java Virtual Machine)的核心知识点,主要包括以下几个方面:
1. **查看JVM进程及参数**:
- 使用`jps`命令可以列出在主机上运行的所有Java虚拟机实例,通过`jps -m`获取主方法参数,`jps -v`查看传递给JVM的完整参数列表,这些参数通常以`-X`、`-D`、`-XX`等开头。
2. **JINFO工具**:
- `jinfo`命令用于查看JVM进程的配置信息,包括默认的和未显式指定的参数。例如,`jinfo24917`可以用来查看特定进程的配置,`jinfo-flags24917`展示命令行参数,`jinfo-sysprops24917`则列出Java系统属性。
3. **监控JVM运行时信息**:
- `jstat`是JDK自带的统计工具,可以查看类加载、编译和垃圾收集(GC)等信息。如`jstat-class-t195811`用于查看类加载情况,`jstat-gc-t195810003`和`jstat-gcutil2491710005`分别提供垃圾收集的实时摘要和统计信息。
4. **内存管理工具**:
- `jmap`用于打印Java内存映射,包括对象共享内存映射、内存地址、共享对象文件路径等。例如,`jmap24917`可将堆转储为hprof二进制格式,`jmap-heap24917`则提供了详细的堆配置信息,包括最大堆大小、新生代、老年代等参数。
5. **Java堆和栈信息**:
- `jmap`还支持查看堆的概要信息,包括GC算法和堆配置。同时,`jstack`用于跟踪Java线程堆栈,包含类名、方法名、字节码索引和行号等信息,`-m`参数可附加程序计数器。
6. **JVM配置参数示例**:
- 提供了一个具体的例子,展示了JVM的MaxHeapSize、NewSize、MaxNewSize、OldSize等关键堆空间配置,以及SurvivorRatio和PermSize等其他内存区域设置,以及G1HeapRegionSize的具体值。
这份笔记深入浅出地介绍了JVM的日常管理和监控技巧,有助于理解Java应用程序在运行时的行为,对于排查性能问题、优化内存使用具有重要意义。通过实践这些工具,开发者能够更好地掌握和管理JVM,提升应用程序的稳定性和效率。
2017-12-28 上传
2021-01-20 上传
2019-04-26 上传
2021-03-03 上传
2021-03-08 上传
2021-01-20 上传
it小奋
- 粉丝: 68
- 资源: 5
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器