zoukankan      html  css  js  c++  java
  • myeclipse tomcat启动,内存溢出问题

    在 启动过程中出现 内存 溢出问题,抛出类似如下异常信息:
    java.lang.OutOfMemoryError: Java heap space

    可以尝试办法:
    A.修改Tomcat\bin\catalina.bat,添加如下内容
    set JAVA_OPTS=-Xms256m -Xmx512m -Djava.awt.headless=true [-XX:MaxPermSize=128M]

    B.eclipse->windows->preferences..->tomcat->jvm..->jvm文本框里,添加-Xms256m -Xmx512m

    C.eclipse->preference->java->instal jres->edit,增加参数:-Xms256m -Xmx512m

    参考原因: JVM中如果98%的时间是用于GC且可用的, Heap size不足2%的时候将抛出此异常信息。
    JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。
    可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。
    Heap size的 -Xms -Xmn 设置不要超出物理内存的大小。否则会提示“Error occurred during initialization of VM Could not reserve enough space for object heap”。

    朋友们,上面仅仅是问题表面的解决,根本上的解决还需要借助JVM内存监测工具,有待研究。。。。。
    =============================

    启动MyEclipse启动Tomcat无视catalina.bat中设置内存大小的问题。
    在tomcat的catalina.bat中设置set JAVA_OPTS=-Xms128m -Xmx256m,直接使用startup.bat启动tomcat没有问题。但是在myeclipse中配置tomcat后,通过myeclipse启 动就出现内存溢出,之前在catalina.bat中设置的内存似乎没有作用。
    解决方法:窗口->首选项->MyEcliipse->Application Servers->Tomcat->Tomcat5.x->JDK->Optional Java VM arguments中填写一下内容。
    -Xms128m -Xmx256m
    -Dcom.sun.management.jmxremote=true
    内存具体大小视具体情况制定。

    tomcat分为安装和压缩包形式,安装的情况catalina.bat设定、使用系统服务不会生效,而是存储在注册表中,位置是 HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions 修改时视情况而定。

  • 相关阅读:
    SPI
    CAP、BASEd、二阶段提交协议、三阶段提交协议、拜占庭将军问题、paxos、Raft、ZAB、NWR
    分布式理论笔记
    springboot自动配置原理
    docker网络
    Nginx主从配置、Keepalived、VRRP协议
    Nginx
    spring cloud
    Dockerfile、push到阿里云
    镜像、容器、部署tomcat、修改容器为新镜像、容器卷
  • 原文地址:https://www.cnblogs.com/batys/p/2349445.html
Copyright © 2011-2022 走看看