1、在 JAVA_OPTS增加 -verbose:gc -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError
2、log日志的内容类似如下: [GC [<collector>: <starting occupancy1>
-> <ending occupancy1>, <pause time1> secs] <starting
occupancy3> -> <ending occupancy3>, <pause time3>
secs]
<collector> GC收集器的名称
<starting occupancy1> 新生代在GC前占用的内存
<ending occupancy1> 新生代在GC后占用的内存
<pause time1> 新生代局部收集时jvm暂停处理的时间
<starting occupancy3> JVM Heap 在GC前占用的内存
<ending occupancy3> JVM Heap 在GC后占用的内存
<pause time3> GC过程中jvm暂停处理的总时间
2 [Full GC [PSYoungGen: 44520K->0K(921600K)] [PSOldGen: 1871782K->1136511K(2048000K)] 1916302K->1136511K(2969600K) [PSPermGen: 80862K->80862K(262144K)], 2.5411980 secs] [Times: user=2.54 sys=0.00, real=2.54 secs]
分别代表 新生代,老生久,永久存储区 内存回收的数 A -> B 其中A表示该区回收前占内存数,B表示回收后该区占内存数。
3 YongGC :
[GC [PSYoungGen: 819200K->31529K(921600K)] 1955711K->1168040K(2969600K), 0.0410820 secs] [Times: user=0.18 sys=0.00, real=0.04 secs]
表示新生代回收的内存,以及整个YoungGC回收的内存总数
分享到:
相关推荐
JVM(Java Virtual Machine)是Java程序运行的核心组件,它负责解释和执行字节码。然而,当JVM出现严重错误或无法恢复的问题时,它可能会崩溃并生成一个崩溃日志,这通常被称为`hs_err_pid.log`文件。这篇内容将深入...
当JVM出现严重错误或者遇到无法处理的异常时,它可能会突然崩溃,并生成一个名为`hs_err_pid.log`的错误报告文件。这个文件对于开发者来说至关重要,因为它记录了JVM崩溃时的详细信息,包括堆栈跟踪、系统属性、线程...
5. **监控和调试**:启用详细的垃圾回收日志 (`-XX:+PrintGCDetails`, `-XX:+PrintGCTimeStamps`, `-XX:+PrintHeapAtGC`),并指定日志文件位置 (`-Xloggc:log/gc.log`),以便于后续的性能分析和调优。 #### 四、...
一次jvm 老年代oom 的dump文件样例
Java虚拟机(JVM)是Java程序运行的基础,它负责解释和执行字节码,管理内存,以及优化代码性能。JVM参数设置是优化Java应用性能的关键环节,它可以帮助我们控制JVM的行为,如内存分配、垃圾回收策略、线程调度等。...
如果希望将日志输出到文件,可以添加`-Xloggc:gc.log`参数,其中`gc.log`是自定义的日志文件名。 GC日志包含的信息可以帮助我们理解内存回收的模式。例如,日志中的 `[PSYoungGen: 612300K->61235K(637952K)]` 表示...
* -Xloggc:log/gc.log:设置垃圾回收日志文件。 * -XX:+PrintClassHistogram:设置类histogram日志。 * -XX:+PrintGCDetails:设置垃圾回收详细日志。 * -XX:+PrintGCTimeStamps:设置垃圾回收时间戳日志。 * -XX:+...
为了快速定位并解决问题,我们需要收集多种类型的运行时信息,包括但不限于系统日志、堆转储文件(heap dump)、线程转储文件(thread dump)以及垃圾收集日志(GC log)等。Java虚拟机(JVM)提供了一系列内置的...
例如,`java -jar myapp.jar --server.port=8080 --logging.file.path=log`。 4. **配置文件隔离**:可以为每个服务创建单独的配置文件,如`application-serviceA.properties`和`application-serviceB.properties`...
当JVM出现崩溃时,系统会产生一个名为“hs_err_pid.log”的错误日志文件,这个文件包含了关于崩溃时的详细信息。通过对这个日志的深入分析,我们可以找出问题的原因并采取相应的解决措施。 首先,我们需要了解JVM...
标题中的“JVM崩溃”指的是Java虚拟机(Java Virtual Machine)在运行过程中遇到了无法处理的错误,导致程序异常终止的现象。这通常是由于内存溢出、类装载错误、线程死锁或其他严重问题引起的。理解JVM崩溃的原因和...
- 使用`System.out.println`或日志框架(如Log4j、Logback)记录运行信息,辅助调试。 - `-XX:+TraceClassLoading`和`-XX:+PrintCompilation`等参数可追踪类加载和编译过程。 4. **JConsole与VisualVM** - ...
Java虚拟机(JVM)是Java程序运行的基础,它提供了执行字节码的环境。不同公司根据JVM规范实现了自己的JRE(Java运行环境),如Oracle的Hotspot JDK、IBM的JDK、阿里巴巴的淘宝JDK等。Oracle通过收购Sun和BEA,将...
3. 使用了 log4j,导致 PermGen space 错误。 解决 Java heap space 问题: Java heap space 的设置是指 JVM 可以调配使用的内存空间的设置。JVM 在启动的时候会自动设置 Heap size 的值,其初始空间(即-Xms)是...
### 常用JVM配置参数详解 #### 一、概述 Java虚拟机(JVM)是运行Java程序的核心环境,其性能的优劣直接影响到Java应用程序的执行效率。为了更好地控制JVM的行为并进行调优,熟悉JVM的配置参数至关重要。本文将深入...
Java虚拟机(JVM)是Java程序运行的基础,它的核心组成部分之一就是垃圾收集器(Garbage Collector, GC)。GC的主要任务是自动管理程序中的内存,回收不再使用的对象,避免内存泄漏,确保系统的稳定运行。HotSpot ...
在启动 Java 应用程序时,添加一个 JVM 参数 -Dlog4j2.formatMsgNoLookups=true,这将禁用 Log4j2 的消息查找功能,以避免攻击者通过 Log4j2 的漏洞来执行恶意代码。例如,原来的启动命令是: ``` java -jar xxx.jar...