`
dxm1986
  • 浏览: 435130 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

也谈JVM设置及垃圾回收

阅读更多

   今天在用jmetertomcat进行压力测试,经常出现out of memory错误,其实一看就是jvm内存溢出,只要设置tomcat启动是相关jvm参数即可,出于谨慎还是从网上从新认知了jvm设置及垃圾回收。

       关于jvm设置及垃圾回收,网上资料很多,个人认为,http://blog.csdn.net/Leolu007/archive/2009/11/23/4857983.aspx还是不错的。此处,只想强调3点:

       1tomcat启动 jvm参数设置,一定要调整-Xms, -Xmx参数,默认heap内存太小,据说把-Xms-Xmx最好设置成大小一致,并且-Xmx不要超过物理内存的80%

       JAVA_OPTS='-Xms1024m -Xmx1024m'

 

       2、启用jdkgc日志

       jdkgc回收日志,还是比较有用的,可以洞悉每次回收花费多少时间,如果每次回收超过2秒钟则需要调整jvm启动参数设置了。

       JAVA_OPTS='-verbose:gc -Xloggc:d:/gclog.log'

 

       3、修改jdk默认的垃圾回收机制

       Jdk默认的垃圾回收工作方式是Serial Collector,执行速度较慢。由于现在服务器都是多cpu,多核的,因此服务器上的jdk垃圾回收机制建议配置成:Concurent Mark-Sweep(CMS) Collector

       JAVA_OPTS=’–XX:+UseConcMarkSweepGC’

也谈JVM设置及垃圾回收

 

http://blog.csdn.net/chuangxin/archive/2010/11/30/6046119.aspx

分享到:
评论

相关推荐

    浅谈jvm原理

    在 JVM 中,垃圾回收是一个非常重要的机制,它可以帮助 JVM 回收垃圾对象,释放内存空间。垃圾回收有多种算法和策略,例如标记-清除算法、复制算法、标记-压缩算法、分代收集算法等。垃圾回收器可以根据不同的场景...

    浅谈jvm中的垃圾回收策略

    在现代JVM(如Java 8及更高版本)中,这部分已经被元空间(Metaspace)替代,依然用于存储元数据,但其大小动态调整且不受垃圾回收的直接影响。不过,当类加载器卸载时,对应的元数据也会被回收。 垃圾回收的处理...

    关于javal垃圾回收机制的一些文档

    7. **性能优化**:垃圾回收会对程序性能产生影响,因此需要合理设置JVM参数,如新生代大小、老年代大小、 survivor比例等,以及选择合适的垃圾收集器。 8. ** finalize() 方法**:Java允许定义一个finalize()方法,...

    浅谈JAVA垃圾回收机制.pdf

    浅谈 JAVA 垃圾回收机制 Java 垃圾回收机制是 Java 语言中的一种自动内存管理机制,它可以自动回收内存中的垃圾,避免代码运行时由于忘记释放对象而带来的内存泄漏问题。 Java 中的垃圾回收机制主要通过两种算法来...

    Java分布式应用学习笔记-谈JVM.doc

    【Java分布式应用学习笔记-谈JVM】 在Java分布式应用中,JVM(Java虚拟机)扮演着至关重要的角色。虽然有些人可能认为分布式系统与JVM的关系并不密切,但事实上,尤其是在大型分布式环境,如云计算服务平台,对Java...

    浅谈Java垃圾回收的实现过程

    Java垃圾回收的实现过程 Java垃圾回收是一种自动化的过程,用来管理程序所使用的运行时内存。通过这一自动化过程,JVM解除了程序员在程序中分配和释放内存资源的开销。启动Java垃圾回收作为一个自动的过程,程序员...

    浅谈Java堆外内存之突破JVM枷锁

    所以堆外内存的垃圾回收也很重要。由于堆外内存并不直接控制于JVM,因此只能等到full GC的时候才能垃圾回收!Full GC,一般发生在年老代垃圾回收以及调用System.gc的时候,这样肯定不能满足我们的需求! 于是,度娘...

    Java对象在JVM中的生命周期详解

    在这个阶段,对象将被JVM的垃圾回收器所回收。 收集阶段(Collected) 在JVM中,垃圾回收器将定期扫描内存中的对象,并将不可达的对象回收。在这个阶段,对象将被从内存中释放。 终结阶段(Finalized) 在JVM中,...

    浅谈关于Java的GC垃圾回收器的一些基本概念

    Java的垃圾回收(GC)是Java虚拟机(JVM)管理内存的重要机制,它自动识别并清理不再使用的对象,以防止内存泄漏。本文主要探讨Java GC的基本概念,涉及JVM内存模型以及不同的垃圾回收算法。 首先,让我们了解几种...

    浅谈IBM AIX环境下的Java性能调优

    - **垃圾回收**:避免不必要的垃圾回收调用,仅在空闲时进行。 - **数据类型选择**:在可能的情况下,使用32位整型而非64位长整型。 - **final和static final**:声明方法为final以优化JVM处理,使用static final...

    再谈 Urban 性能传言1

    而JVM中的分代垃圾收集器则通过将堆划分为年轻代和年老代,进一步优化了分配和回收过程。 分代垃圾收集器将新生对象分配到年轻代,存活下来的对象晋升到年老代。HotSpot VM提供了几种不同的年轻代收集器,如串行...

    浅谈pycharm的xmx和xms设置方法

    如果程序运行过程中需要的内存超过了这个值,JVM就会触发垃圾回收(Garbage Collection),尝试释放不再使用的内存。如果频繁触发垃圾回收且无法满足需求,程序可能会出现“OutOfMemoryError”,导致崩溃。 在...

    java培训教程-浅谈java虚拟机.pdf

    4. **无用单元收集堆(Garbage-collected heap)**:Java对象在堆内存中分配,JVM负责自动管理内存,包括对象的创建和销毁,通过无用单元收集(Garbage Collection)机制来回收不再使用的内存,避免内存泄露。...

    谈我对java的一些认识

    Java的自动垃圾回收机制也是一个显著优点,它减轻了程序员管理内存的负担,降低了程序出现内存泄漏的风险。此外,自JDK 1.5以来,Java的性能不断提升,使得Java在处理大量数据和高并发场景时表现优秀,甚至有人提出...

    浅谈Java的虚拟机结构以及虚拟机内存的优化

    Java虚拟机(JVM)是Java程序的核心组成部分,它负责运行字节码,管理内存,以及执行垃圾回收等关键任务。本文将简要介绍JVM的结构,特别是内存模型,以及如何进行内存优化。 首先,JVM由多个子系统组成,其中类装载...

    关于Flume的优化和高可用

    内存管理对Flume性能影响显著,优化内存参数可有效减少垃圾回收(GC)的压力。首先,设置`-xmx`和`-xms`为相同值,避免GC后调整堆大小导致的性能波动。例如,在`flume-env.sh`配置文件中添加`JAVA_OPTS="-Xms512m -...

Global site tag (gtag.js) - Google Analytics