zoukankan      html  css  js  c++  java
  • 修改TOMCAT的JVM虚拟机内存大小几种方式

    Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。

    经常会出现Java.lang.OutOfMemoryError: Java heap space 即JVM Heap溢出的错误。

    对此有以下几种方法可以选用:

    第一种方法:修改catalina.bat/catalina.sh文件

    1.linux 下调整tomcat的内存设置
    
    修改bin目录下catalina.sh文件
    
    在cygwin=false之上
    
    添加以下语句
    
    JAVA_OPTS="-Xms1024m -Xmx4096m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=2048m"
    
    其中-xms为jvm初始化堆的大小,-xmx为jvm堆的最大值
    
    2. window 下调整tomcat的内存设置
    
    修改bin目录下catalina.bat文件@echo off下追加
    
    set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M
    
    3.eclipse下修改外置tomcat的内存设置
    
    open launch configuration=>arguments=>vm arguments
    
    追加-Xms1024M -Xmx4096M -XX:PermSize=512m -XX:MaxPermSize=2048m

    第二种方法:环境变量中设置

    变量名:JAVA_OPTS
    变量值:-Xms512m-Xmx512m
    (服务器内存大小为32G)
    变量值:-Xms512M -Xmx2048M -XX:PermSize=512M -XX:MaxPermSize=2048M  -XX:ReservedCodeCacheSize=512m

    前两种方法针对的是bin目录下有catalina.bat的情况(比如直接解压的Tomcat等)并且通过startup.bat/startup.sh启动才生效,

    但是有些安装版的Tomcat下没有catalina.bat,这个时候可以采用如下方法,当然这个方法也是最通用的方法:

    第三种方法:通过D:apache-tomcat-8.0.52-windows-x64apache-tomcat-8.0.52in omcat8w.exe,配置内存大小

    1》打开D:apache-tomcat-8.0.52-windows-x64apache-tomcat-8.0.52in	omcat8w.exe,
    2》点击Java选项卡,然后将会发现其中有这么两项:Initialmemorypool和Maximummemorypool.Initialmemorypool这个就是初始化设置的内存的大小。
    3》Maximummemorypool这个是最大内存的大小设置完了就按确定然后再重启TOMCAT你就会发现tomcat中jvm可用的内存改变了。

    另外需要考虑的是Java提供的垃圾回收机制。虚拟机的堆大小决定了虚拟机花费在收集垃圾上的时间和频度。收集垃圾可以接受的速度与应用有关,应该通过分析实际的垃圾收集的时间和频率来调整。如果堆的大小很大,那么完全垃圾收集就会很慢,但是频度会降低。如果你把堆的大小和内存的需要一致,完全收集就很快,但是会更加频繁。调整堆大小的的目的是最小化垃圾收集的时间,以在特定的时间内最大化处理客户的请求。在基准测试的时候,为保证最好的性能,要把堆的大小设大,保证垃圾收集不在整个基准测试的过程中出现。

    如果系统花费很多的时间收集垃圾,请减小堆大小。一次完全的垃圾收集应该不超过3-5秒。如果垃圾收集成为瓶颈,那么需要指定代的大小,检查垃圾收集的详细输出,研究垃圾收集参数对性能的影响。一般说来,你应该使用物理内存的80%作为堆大小。当增加处理器时,记得增加内存,因为分配可以并行进行,而垃圾收集不是并行的。

  • 相关阅读:
    SDUT 2143 图结构练习——最短路径 SPFA模板,方便以后用。。 Anti
    SDUT ACM 1002 Biorhythms 中国剩余定理 Anti
    nyist OJ 119 士兵杀敌(三) RMQ问题 Anti
    SDUT ACM 2157 Greatest Number Anti
    SDUT ACM 2622 最短路径 二维SPFA启蒙题。。 Anti
    二叉索引树 区间信息的维护与查询 Anti
    SDUT ACM 2600 子节点计数 Anti
    UVA 1428 Ping pong 二叉索引树标准用法 Anti
    2010圣诞Google首页效果
    Object
  • 原文地址:https://www.cnblogs.com/huangjinyong/p/14102905.html
Copyright © 2011-2022 走看看