`

jvm配置垃圾收集参数

    博客分类:
  • jdk
 
阅读更多

在linux环境下配置tomcat的垃圾回收的一些配置,在catalina.sh文件的开头,直接加入

JAVA_OPTS="

$JAVA_OPTS

-server

-Xms64m -Xmx512m

-XX:PermSize=64M -XX:MaxPermSize=128m

-XX:+HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=/home/dump.hprof

-verbose:gc  -Xloggc:/home/gc.log -XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime

-XX:+PrintGCDateStamps -XX:+PrintHeapAtGC"

 

解释一下用处

$JAVA_OPTS是引入以前的配置信息

-server 是只服务器

-Xms64m -Xmx512m 堆内存的最小最大空间

-XX:PermSize=64M -XX:MaxPermSize=128m 栈空间的最小最大

-XX:+HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=/home/dump.hprof 出现了内存溢出,将当时的快照信息写入到dump.hprof文件

-verbose:gc gc的一些配置

-Xloggc:/home/gc.log  每次gc写入gc.log日志中

-XX:+PrintGCDetails 打印gc详情

-XX:+PrintGCApplicationStoppedTime 打印垃圾回收时,应用暂停的时间

-XX:+PrintGCDateStamps  输出gc的时间戳

 -XX:+PrintHeapAtGC  打印GC前后的详细堆栈信息

 

 

贴一段gc信息日志

Total time for which application threads were stopped: 0.0000750 seconds

{Heap before GC invocations=1 (full 0):

 PSYoungGen      total 19136K, used 16448K [0x00000000f5560000, 0x00000000f6ab0000, 0x0000000100000000)

  eden space 16448K, 100% used [0x00000000f5560000,0x00000000f6570000,0x00000000f6570000)

  from space 2688K, 0% used [0x00000000f6810000,0x00000000f6810000,0x00000000f6ab0000)

  to   space 2688K, 0% used [0x00000000f6570000,0x00000000f6570000,0x00000000f6810000)

 PSOldGen        total 43712K, used 0K [0x00000000e0000000, 0x00000000e2ab0000, 0x00000000f5560000)

  object space 43712K, 0% used [0x00000000e0000000,0x00000000e0000000,0x00000000e2ab0000)

 PSPermGen       total 65536K, used 12915K [0x00000000dc000000, 0x00000000e0000000, 0x00000000e0000000)

  object space 65536K, 19% used [0x00000000dc000000,0x00000000dcc9cf30,0x00000000e0000000)

2018-05-24T15:39:06.084+0800: 0.424: [GC [PSYoungGen: 16448K->2336K(19136K)] 16448K->2336K(62848K), 0.0034480 secs] [Times: user=0.01 sys=0.00, real=0.01 secs] 

Heap after GC invocations=1 (full 0):

 PSYoungGen      total 19136K, used 2336K [0x00000000f5560000, 0x00000000f6ab0000, 0x0000000100000000)

  eden space 16448K, 0% used [0x00000000f5560000,0x00000000f5560000,0x00000000f6570000)

  from space 2688K, 86% used [0x00000000f6570000,0x00000000f67b8050,0x00000000f6810000)

  to   space 2688K, 0% used [0x00000000f6810000,0x00000000f6810000,0x00000000f6ab0000)

 PSOldGen        total 43712K, used 0K [0x00000000e0000000, 0x00000000e2ab0000, 0x00000000f5560000)

  object space 43712K, 0% used [0x00000000e0000000,0x00000000e0000000,0x00000000e2ab0000)

 PSPermGen       total 65536K, used 12915K [0x00000000dc000000, 0x00000000e0000000, 0x00000000e0000000)

  object space 65536K, 19% used [0x00000000dc000000,0x00000000dcc9cf30,0x00000000e0000000)

}

 

 

2018-05-24T15:39:06.084+0800: 0.424: [GC [PSYoungGen: 16448K->2336K(19136K)] 16448K->2336K(62848K), 0.0034480 secs] [Times: user=0.01 sys=0.00, real=0.01 secs] 

发生了gc

 

 

将内存dump下来

jmap -dump:format=b,file=/applis/dump.hprof pid号

 

 

分享到:
评论

相关推荐

    jvm 配置jvm参数

    ### JVM参数配置详解 #### 一、理解JVM参数配置的重要性 Java Virtual Machine (JVM) 是运行Java程序的核心环境,其性能优化很大程度上依赖于正确的JVM参数配置。合理配置JVM参数不仅可以显著提升应用程序的运行...

    深入JVM内核—原理、诊断与优化视频教程-3.常用JVM配置参数

    而“-XX:ParallelGCThreads”和“-XX:ConcGCThreads”分别控制并行和并发垃圾收集的线程数量,调整这两个参数可以优化垃圾收集效率。 总结起来,深入理解JVM内核,熟练掌握诊断技巧,并合理调整JVM配置参数,是每一...

    JVM内存参数详解以及配置调优

    在这个资源中,我们将详细讨论 JVM 内存参数的配置和调优,包括 JVM 的结构、内存管理、垃圾回收、堆和非堆内存、内存分配和限制等方面。 JVM 结构 JVM 的结构主要由六个部分组成:JVM API、JVM 内部组件、平台...

    JVM垃圾回收,参数,强软弱虚,常见错误OOM,与微服务结合.docx

    在 Java 中,可以通过命令行参数来配置垃圾收集器,例如 `-XX:+UseSerialGC`、`-XX:+UseParallelGC`、`-XX:+UseConcMarkSweepGC` 等。 在 Server 模式下,JVM 会使用不同的垃圾收集器来提高性能。在 32 位操作系统...

    jvm 参数及gc详解

    Java虚拟机(JVM)是Java程序运行的基础,它的配置参数和垃圾收集(GC)机制对于优化应用程序性能至关重要。本文将深入探讨JVM参数及其与Java垃圾收集相关的知识。 一、JVM参数详解 JVM参数可以分为三类:启动参数...

    简单实用JVM参数配置

    【JVM参数配置详解】 Java Virtual Machine (JVM) 是Java程序的核心组成部分,它负责解析和执行Java程序的字节码。JVM的设计目标是提供跨平台的运行环境,通过在实际硬件上模拟一个虚拟的计算机系统,使得Java程序...

    jmx-jvm配置

    2. **Garbage Collection调优**: 使用JMX,可以监视垃圾收集器的运行情况,甚至动态调整GC参数。 3. **类加载监控**: 可以查看已加载的类信息,包括类的数量、大小等。 4. **JVM配置调整**: 通过JMX,可以在运行时...

    深入详解JVM内存模型与JVM参数详细配置

    ### 深入详解JVM内存模型与JVM参数详细配置 #### 1. JVM内存模型概述 Java虚拟机(JVM)是运行Java应用程序的核心组件之一,它负责执行Java字节码,并管理应用程序的内存分配。对于Java开发者来说,深入了解JVM的...

    jvm优化参数配置

    - **CMS(Concurrent Mark Sweep)垃圾收集器**:适用于低延迟需求,常用参数有`-XX:+UseCMSInitiatingOccupancyOnly`和`-XX:CMSInitiatingOccupancyFraction`来设定触发并发回收的阈值。 2. **栈内存(Stack ...

    JVM配置资料JVM配置资料

    这份"JVM配置资料"包含的可能是一系列关于优化JVM性能、理解和调试JVM行为的重要信息。下面将详细讨论JVM配置中的关键知识点。 1. **JVM内存模型**: - **堆内存(Heap Memory)**:分为新生代(Young Generation...

    JVM垃圾回收机制

    在Java编程中,JVM(Java虚拟机)的垃圾回收机制是自动管理内存的重要部分。垃圾回收机制负责回收那些不再被程序使用、即...开发者需要根据应用特点和运行环境选择合适的垃圾收集器和配置参数,以达到最优的性能表现。

    jvm参数设置

    在JVM参数配置中,内存管理是最为关键的部分之一。下面我们将详细解释几个重要的内存相关参数及其作用: 1. **-Xms**: 设置JVM启动时的初始堆内存大小。例如,`-Xms1024m`表示初始堆内存为1024MB。 2. **-Xmx**: ...

    JVM内存模型以及垃圾收集策略解析

    JVM提供了多种参数来配置内存大小。例如,`-Xms`和`-Xmx`分别设定JVM堆的初始大小和最大大小;`-XX:NewRatio`和`-XX:SurvivorRatio`用于调整年轻代和老年代的比例;`-XX:PermSize`和`-XX:MaxPermSize`设定永久代的...

    JVM常用参数设置

    理解并正确配置JVM参数对于优化应用程序性能、内存管理和故障排查至关重要。本文将深入探讨JVM的常用参数设置,以及它们如何影响Java应用程序的运行。 一、JVM内存设置 1. **堆内存**: - `-Xms`:初始堆大小,...

    Java虚拟机_JVM_参数配置

    JVM参数配置是优化Java应用程序性能的关键环节,通过调整这些参数,我们可以控制JVM的行为,包括内存分配、垃圾收集、类加载等方面。在本文中,我们将深入探讨Java虚拟机的参数配置及其对程序性能的影响。 首先,...

    JVM性能调优垃圾收集算法虚拟机组成.zip

    在JVM中,性能调优是一个关键环节,特别是垃圾收集(Garbage Collection, GC)算法的选择和配置,对系统的响应时间、吞吐量以及内存使用效率有着直接影响。本文将深入探讨JVM的组成、垃圾收集的基本概念及其常见算法...

    JVM 内存结构及配置总结

    正确的参数配置能够避免内存溢出、提高垃圾收集效率,从而提升整体系统性能。在实际应用中,开发者需要根据应用程序的特性和需求,灵活调整这些参数。同时,结合性能监控工具,如VisualVM或JProfiler,可以帮助更好...

    JVM参数使用说明

    ### JVM参数详解 #### Heap Size相关参数 ...通过合理配置这些JVM参数,可以显著提升应用程序的性能表现。然而,最佳的参数配置往往依赖于具体的应用场景和业务需求,因此需要针对特定情况进行细致的测试和调优。

    Java虚拟机JVM参数配置说明.pdf

    ### Java虚拟机(JVM)参数配置详解 #### 引言 在Java及J2EE大型应用的场景下,Java虚拟机(JVM)非标准参数的合理配置对于提升系统的整体性能至关重要。这些参数不仅影响着应用的运行效率,还直接关联到系统的稳定性...

    JVM-性能调优垃圾收集算法虚拟机组成

    3. **调整垃圾收集参数**:例如设置新生代和老年代的比例,开启并行或并发收集等。 4. **使用JIT编译**:让热点代码被编译为原生机器码,提高执行效率。 5. **监控和诊断工具**:如JConsole、VisualVM等,帮助分析...

Global site tag (gtag.js) - Google Analytics