`

tomcat的jvm heap内存的设置问题

    博客分类:
  • JVM
阅读更多
我现在用的是阿里云的centos, 内存只有512M

现在存在内存溢出的问题。 就是当使用thumbnail处理图片的时候。
我测试了一下, 大概是传150K以上的图片的时候, heap内存就会用到大约100M。
测试代码如下:
System.out.println("\tCurrent Heap Size in MB: "+(Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory())/(1024*1024));



我在网上查了一下, 貌似是说jvm会调用系统物理内存的最多1/4作为heap内存。

所以我想修改一下这个参数、

但是发现修改了之后就会启动不了tomcat。

研究了很久, 才发现, 原来设置的内存不能超出系统所能提供的内存。


下面是我设置的参数:
# OS specific support.  $var _must_ be set to either true or false.
JAVA_OPTS="-Xms64m -Xmx140m" //-Xms64m会影响到关闭tomcat。见下面
cygwin=false


这里我如果设置-Xms为256m,tomcat就会直接启动不了。
看来这系统提供不了最大256M的内存。

但是设置为128m,就会导致150K以上的图片依然不能上传,会报出OOM错误。
最后设置为140m, 试了一下居然可以了。。300K的也可以上传处理。但是600K的不行。


先运行一段时间试试, 看看会不会出什么问题。


=============================
5/3
刚关闭tomcat就出错了。



把-Xms64m去掉。
再次启动测试关闭。
就正常了。
  • 大小: 81.2 KB
分享到:
评论

相关推荐

    Tomcat JVM内存设置方法

    ### Tomcat JVM内存设置方法详解 #### 一、前言 Tomcat作为一款广泛使用的Java应用服务器,其性能优化一直是开发者关注的重点之一。而在性能优化的过程中,合理设置JVM(Java Virtual Machine)内存是非常关键的一...

    ECLIPSE,TOMCAT,JVM内存设置

    标题 "ECLIPSE,TOMCAT,JVM内存设置" 涉及到的是在开发Java Web应用程序时,如何配置Eclipse集成开发环境(IDE)、Apache Tomcat服务器以及Java虚拟机(JVM)的内存参数,以优化性能和避免内存溢出等问题。...

    java虚拟机jvm及Tomcat中的jvm有关内存的设置与调优

    在部署Java Web应用时,Tomcat作为常见的容器之一,其JVM内存设置同样至关重要。以下是在Tomcat环境中优化JVM内存的具体步骤: 1. **环境变量设置**:通过设置`CATALINA_OPTS`环境变量,可以在系统级别全局地调整...

    JVM内存溢出问题解析

    JVM 内存溢出问题解析 JVM 内存溢出是指程序运行所需的内存大于虚拟机能提供的最大内存的情况。这种情况可能是由于数据量过大、死循环、静态变量和静态方法过多、递归、无法确定是否被引用的对象等原因引起的。同时...

    tomcat jvm内存修改

    这类问题通常是由于 JVM(Java 虚拟机)配置不当导致的,特别是 PermGen 和 Heap 的大小设置不合理。PermGen 是指永久代空间,用于存储 Class 文件的元数据信息;而 Heap 则是 Java 应用程序运行时的主要内存区域。...

    eclipse与tomcat的JVM设置

    本文将详细介绍如何在Eclipse与Tomcat中合理设置JVM参数,以避免此类问题的发生。 #### 二、JVM基础知识简介 Java虚拟机(Java Virtual Machine,简称JVM)是运行Java程序的核心部分,它提供了一个可以执行Java...

    Tomcat JVM内存优化(Linux环境)

    在Linux环境下运行Tomcat服务器时,经常会遇到与Java虚拟机(JVM)相关的内存溢出问题。这些问题通常表现为`java.lang.OutOfMemoryError`异常,具体又分为两类:`PermGen space`内存溢出和`Java heap space`内存溢出...

    tomcat 解决Java heap space问题

    标题中的“tomcat 解决Java heap space问题”指的是在运行Apache Tomcat服务器时,由于Java应用程序内存分配不当或资源消耗过大导致的“Java heap space”错误。这个问题通常出现在Java虚拟机(JVM)试图为对象分配...

    eclipse中对jvm进行设置

    2. **内存设置问题**: - **参数含义**: - `-vmargs`:指示接下来的参数是针对JVM的。 - `-Xms`:设置JVM堆内存的初始大小。 - `-Xmx`:设置JVM堆内存的最大大小。 - `-XX:PermSize`:设置非堆内存的初始大小...

    JVM内存设置方法.docx

    JVM内存设置方法 JVM(Java Virtual Machine)是 Java 程序的运行环境,为了提高 Java 程序的性能,需要合理地设置 JVM 的内存分配。下面将详细介绍 JVM 内存设置的方法。 一、 JVM 内存设置参数 JVM 内存设置...

    eclipse tomcat启动,内存溢出问题

    2. **默认的JVM堆内存设置不足**:默认情况下,JVM分配给应用程序的堆内存可能相对较小,不足以满足特定应用场景的需求。 3. **配置不当**:在配置文件中,如果没有正确地设置JVM参数来调整内存大小,也会导致内存...

    JVM内存配置优化

    ### JVM内存配置优化 #### 一、理解JVM内存模型 在进行JVM内存配置优化之前,我们需要...以上就是关于JVM内存配置优化以及Tomcat并发配置优化的相关知识点。通过合理的配置调整,可以有效提升系统的稳定性和性能。

    tomcat内存泄漏备份方法

    - **heap dump**:通过JVM命令`jmap -dump`生成堆转储文件,然后使用分析工具查看内存中的对象分布,寻找可能的泄漏源头。 - **Tomcat日志**:检查Tomcat的日志文件,异常信息可能提示内存泄漏的存在。 4. **...

    解决Java_heap_space问题

    2. **最大堆大小限制**:如果应用程序的内存需求超过JVM的最大堆大小设置,也会导致heap space问题。 3. **内存泄漏**:程序中存在未被及时回收的不再使用的对象,长期占用内存资源,最终导致可用堆内存耗尽。 ####...

    Tomcat内存溢出的三种情况及解决办法分析

    这种情况常见于生产环境中Tomcat内存设置不良,或者应用程序本身存在内存泄露的情况。 根据实际情况和相关资料,Tomcat内存溢出的原因可以分为三种情况: 1.OutOfMemoryError:Java heap space 这种情况是由于...

    TOMCAT内存大小调整

    Java Heap Space是指JVM堆的设置,是指Java程序运行过程中JVM可以调配使用的内存空间的设置。OutOfMemoryError: Java heap space异常是由于Heap size不足引起的。解决方法是手动设置Heap size。在Tomcat以bat方式...

    设置jvm内存的方法

    ### 设置JVM内存的方法 #### 一、引言 在Java应用程序开发与部署的过程中,合理的JVM内存配置至关重要。不合适的内存配置不仅可能导致应用程序性能下降,还可能引发一系列的内存溢出错误,如`OutOfMemoryError`。...

Global site tag (gtag.js) - Google Analytics