JVM常用命令整理
看对象数量
jmap -histo 【pid】>jmaphisto.log
jmap -F -histo 【pid】>jmaphisto.log 服务已死加 -F
jmap -histo:live 【pid】>jmaphisto.log 只看存活(会触发fullgc再导出)
看内存Dump
jmap -dump:format=b,file=jmapdump.hprof 【pid】
jmap -F -dump:format=b,file=jmapdump.hprof 【pid】
tar zcvf jmapdump.hprof.tar.gz jmapdump.hprof
看GC情况
jstat -gccapacity
jstat -gcutil 【pid】 1000 100 每1000毫秒看内存情况,持续100次
指标解释:
S0 — Heap上的 Survivor space 0 区已使用空间的百分比
S1 — Heap上的 Survivor space 1 区已使用空间的百分比
E — Heap上的 Eden space 区已使用空间的百分比
O — Heap上的 Old space 区已使用空间的百分比
P — Perm space 区已使用空间的百分比
YGC — 从应用程序启动到采样时发生 Young GC 的次数
YGCT– 从应用程序启动到采样时 Young GC 所用的时间(单位秒)
FGC — 从应用程序启动到采样时发生 Full GC 的次数
FGCT– 从应用程序启动到采样时 Full GC 所用的时间(单位秒)
GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)
看线程堆栈
jstack 【pid】 >jstack.log
jstack -F 【pid】 >jstack.log 服务已死加 -F
jstack -F -m 【pid】 >jstack.log
jstack -F -m -l 【pid】 >jstack.log
看线程的资源情况
pstree 【pid】 打印进程的线程使用情况
top 看资源使用情况
top -Hp 【pid】 看进程内线程资源情况
转为16进制配合jstack可查询线程cpu情况
分享到:
相关推荐
本系列课程从JVM基础到高级实战,老师手把手教你如何进行JVM...1.3JVM参数设置思路1.4JVM调优常用指令说明 第七节:JVM项目实战 1.1案例背景 1.2排查步骤 1.3.arthas 1.3.1.arthas简介 1.3.2.arthas实战 1.3总结
3:JVM内存调优:JVM参数【标准参数、-X参数、-XX参数等】+常用命令【jps、jinfo、jstat、jstack、jmap】+常用工具【jconsole、jvisualvm、Arthas、MAT】+性能优化及总结+高并发场景分析+JVM性能优化指南。
以下是一些常用的Linux系统监控命令,它们可以帮助我们追踪CPU使用、内存消耗、网络活动以及存储I/O等关键性能指标。 1. **`ps` 命令**: `ps -mp pid -o THREAD,tid,time` 或 `ps -Lfp pid` 用于找出占用CPU最多...
### 整理-JVM相关面试题2024 #### 1. 什么是JVM? - **定义**:JVM(Java Virtual Machine)即Java虚拟机,是一种抽象的计算机,它提供了一个运行环境,使Java代码可以在任何安装了JVM的操作系统上运行,而无需重新...
#### 三、Java常用调优命令和工具 - **jps**:用于查看当前系统运行的Java进程。该命令提供了多种选项,如仅输出进程ID (`-q`)、输出主函数的详细路径 (`-l`)、输出JVM参数 (`-v`) 和输出主函数参数 (`-m`) 等。 -...
在这里,我们将深入探讨JVM分析的相关知识点,并介绍一些常用工具。 1. **JVM内存模型**:JVM内存分为堆内存(Heap)、栈内存(Stack)、方法区(Method Area)、本地方法栈(Native Method Stack)和程序计数器...
例如,新生代常用的是复制算法,老年代可能采用标记-压缩或标记-整理算法。GC的配置参数如`-XX:NewSize`和`-XX:CMSInitiatingOccupancyFraction`可以调整各个区域的大小和触发垃圾回收的条件。 4. **JVM监测工具**...
常用的算法有标记-清除、复制、标记-整理和分代收集等。 - **垃圾回收**:为了提高内存利用率,JVM需要定期回收不再使用的对象。垃圾回收器通过特定的算法自动检测并释放这些对象占用的内存。 #### GC分析命令与...
- **HeapDump**:使用JVM命令导出堆内存快照,进一步分析内存泄漏等问题。 - **应用场景**:识别内存泄漏原因、优化对象分配策略等。 #### 8. 锁 - **概述**:锁是实现Java并发编程的重要机制之一。 - **类型**:...
- **标记-整理算法(Mark-Compact)**:标记阶段与标记-清除算法相同,但在清除阶段将存活对象向一端移动,然后再清理边界外的内存。这种方式解决了内存碎片问题。 **2.3 常见垃圾回收器** - **Serial Collector**:...
通过这些资源,你可以深入理解Redis的数据结构和操作命令,掌握JVM的内存管理与调优,了解ActiveMQ的消息传递机制,以及利用JUC构建高并发应用的技巧。同时,脑图的形式使得学习过程更为直观和高效。
Linux:涉及开发中常用的命令,如telnet、curl、wget、netstat Redis:集群底层原理、持久化内部机制等 多线程、集合等 内容过多,就不一一例举。整理不易,互相努力 公司名就不说了,怕被查到,最近这块抓的比较严...
理解JVM内存模型(堆、栈、方法区等)、垃圾收集机制(如标记-清除、复制、标记-整理和CMS等算法)以及性能调优(如JVM参数调整、监控工具如JConsole的使用)对于提升Java应用性能至关重要。 MySQL是一款关系型...
常用的JVM命令和工具用于监控和分析性能,例如jmap、jstat、jconsole等。此外,了解Linux基础命令对管理和监控Java应用也非常重要。 Java语言的三大特性是封装、继承和多态,反射是Java的一个强大功能,允许程序在...
首先,Java常用命令是进行Java开发的基石。javac命令用于编译Java源代码到字节码(bytecode),而java命令用于运行编译后的.class字节码文件。javadoc是生成HTML格式文档的工具,它能够从源代码中提取注释生成文档。...
常用的DOS命令包括: - `win + R` 打开运行窗口,输入`cmd`启动命令行。 - `d:` 切换到D盘。 - `dir` 或 `directory` 列出当前目录下的文件和文件夹。 - `cd [目录名]` 改变当前工作目录。 - `cd ..` 返回上一...
- **面向切面编程**:提供了一种在运行时动态插入额外行为的能力,常用作日志记录、事务管理等。 - **Spring Boot**:简化了 Spring 应用的创建和部署过程。 ### MyBatis #### MyBatis 框架 - **ORM 映射**:通过...
常用的命令工具有jps、jstack、jmap、jstat和jhat,用于监控进程状态、线程堆栈、内存分配和性能统计。内存泄漏排查是重要环节,需识别GC Roots以确定对象是否可达。 ### 其他面试点 - `i++`操作的字节码指令:涉及...
除了JVM配置之外,还提到了几个常用的监控命令: 1. **watch-n1-difconfig** - `difconfig`用于查看网络接口状态,`watch`命令则会定时刷新这个命令的输出结果。这里设置了每秒刷新一次(`-n1`)。 2. **watch-n1-...