精华内容
下载资源
问答
  • 解决tomcat启动内存不足的问题

    千次阅读 2017-09-01 14:33:30
    解决tomcat内存不足的问题

    当碰到启动内存不足的问题时:
    如下图:
    tomcat内存不足报错
    解决办法:
    调整tomcat启动内存:
    在tomcat 的bin下的catalina.sh的代码中加入一行:

    JAVA_OPTS="-server -Xms1024m -Xmx2048m -XX:PermSize=1024m -XX:MaxPermSize=2048m"

    加入JAVA_OPTS
    可以将tomcat的内存拓展得大一点

    展开全文
  • tomcat启动时会抛出一下错误,意思是jvm内存不足导致不能加载项目的某个组件 Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/login] due to...

    tomcat启动时会抛出一下错误,意思是jvm内存不足导致不能加载项目的某个组件

    Caused by: java.lang.IllegalStateException: 
    Unable to complete the scan for annotations for web application [/login] 
    	due to a StackOverflowError. Possible root causes include a too 
    	low setting for -Xss and illegal cyclic inheritance dependencies. The class hierarchy being processed was 
    	[oracle.net.aso.C00->oracle.net.aso.C06->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object]
    	at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:2173)
    	at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2119)
    	at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1980)
    	at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1941)
    	at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1926)
    	at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1331)
    	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:887)
    	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)
    	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5527)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    	... 10 moredue to a StackOverflowError. Possible root causes include a too 
    	low setting for -Xss and illegal cyclic inheritance dependencies. The class hierarchy being processed was 
    	[oracle.net.aso.C00->oracle.net.aso.C06->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object->java.lang.Object]
    	at org.apache.catalina.startup.ContextConfig.checkHandlesTypes(ContextConfig.java:2173)
    	at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2119)
    	at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1980)
    	at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1941)
    	at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1926)
    	at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1331)
    	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:887)
    	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)
    	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5527)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    	... 10 more

     

    解决方法如下:

     

    增加该tomcat启动时的内存

    在tomcat/bin/catalina.sh中添加如下代码:

     

    JAVA_OPTS="-server -Xms1024m -Xmx2048m -Xss1024K -XX:PermSize=1024m -XX:MaxPermSize=2048m"

     

    展开全文
  • 解决Tomcat运行内存不足问题

    千次阅读 2019-11-18 22:31:55
    在使用Java程序从数据库中查询大量...这主要是由于应用服务器的内存不足引起的。这种异常常有以下几种情况(以下以tomcat环境为例,其它WEB服务器如jboss,weblogic等是同一个道理): 1. java.lang.OutOfMemoryE...

    在使用Java程序从数据库中查询大量的数据或是应用服务器(如tomcat、jboss,weblogic)加载jar包时会出现java.lang.OutOfMemoryError异常。这主要是由于应用服务器的内存不足引起的。这种异常常有以下几种情况(以下以tomcat环境为例,其它WEB服务器如jboss,weblogic等是同一个道理):

     

    1. java.lang.OutOfMemoryError: PermGen space

    PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space。从文字上看就是内存溢出,解决方法是加大内存。为什么会内存溢出,这是由于这块内存主要是被JVM存放Class和Meta信息的,Class在被Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。
    解决方法: 手动设置MaxPermSize大小

     

    a.如果tomcat是以bat方式启动的,则如下设置:

    修改TOMCAT_HOME/bin/catalina.sh
    在echo "Using CATALINA_BASE: $CATALINA_BASE"上面加入以下行:
    JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m" 

     

    b.如果tomcat是注册成了windows服务,以services方式启动的,则需要修改注册表中的相应键值。

    打开注册表,找到目录HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\htfty\Parameters\Java,其中目录地址中红色标注的(如htfty)需要根据不同情况作修改,为tomcat服务注册成windows服务的名称。 可以看到JvmMs和JvmMx项,其中JvmMs设置最小的内存使用参数,JvmMx设置最大的内存使用参数。设置好JvmMs和JvmMx项的值,重启tomcat服务器即可生效。
    建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar 文档重复占用内存的目的。

     

    2. java.lang.OutOfMemoryError: Java heap space

    JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置。JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息。
    解决方法:手动设置Heap size

     

    a.如果tomcat是以bat方式启动的,则如下设置:

    修改TOMCAT_HOME/bin/catalina.sh
    在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
    JAVA_OPTS="-server -Xms800m -Xmx800m -XX:MaxNewSize=256m"

     

    b.如果tomcat是注册成了windows服务,以services方式启动的,则需要修改注册表中的相应键值。

    打开注册表,找到目录HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\htfty\Parameters\Java,其中目录地址中红色标注的(如htfty)需要根据不同情况作修改,为tomcat服务注册成windows服务的名称。 可以看到JvmMs和JvmMx项,其中JvmMs设置最小的内存使用参数,JvmMx设置最大的内存使用参数。设置好JvmMs和JvmMx项的值,重启tomcat服务器即可生效。

    提示:Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。

    展开全文
  • 错误:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000540000000, 10468982784, 0) failed; error='Cannot allocate memory' ...查看系统内存大小:cat /proc/meminfo | grep MemT...

    错误:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000540000000, 10468982784, 0) failed; error='Cannot allocate memory' (errno=12)

    处理:

    查看系统内存大小:cat /proc/meminfo | grep MemTotal

    找到Tomcat中的 bin目录 编辑 catalina.sh

    修改:JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -server -Xms4096m -Xmx8192m -XX:PermSize=128m -XX:MaxNewSize=256m -XX:MaxPermSize=256m"

    重启Tomcat 成功

    展开全文
  • 我们再使用eclipse的过程中有时候启动Tomcat会出现内存溢出或不足的三种解决方法 方法一:修改Elipse运行JRE默认JVM参数 1、打开Eclipse 依次点击 window->preferences->java->installed jres [外链图片...
  • tomcat设置内存大小和启动编码格式.
  • 启动Tomcat内存不足

    千次阅读 2017-09-19 10:35:39
    调整Tomcat初始化和最大化内存数据。 1. 查询本机内存和使用情况,根据实际情况来设置,采用的是free命令,按b显示,下面的命令分别按M和G来显示 根据上面看出free只有1.7G可用,而因为一些原因Tomcat设置...
  • 用cmd命令行启动Tomcat报错: Error occurred during initialization of VM Could not reserve enough space for object heap 解决办法:我用的是Windows 系统,安装版Tomcat7.0,应该更改catalina.bat的配置,...
  • -Xms1024m -XX:MaxPermSize=512m -Xverify:none -Dorg.eclipse.swt.browser.IEVersion=10001 -Xmx4096m 严重: Error waiting for multi-thread ...重新启动sts里的tomcat,没有出现内存错误了
  • tomcat设置使用内存,在配置文件中加入一段代码即可!
  • Tomcat启动内存设置

    万次阅读 2019-05-14 13:32:44
    Tomcat启动内存设置 Tomcat的启动分为startupo.bat启动和注册为windows服务的启动,下面一一说明。 1.startup.bat启动 在tomcat_home/bin目录下找到catalina.bat,用文本编辑器打开,加上下面一行: set JAVA_...
  • tomcat启动内存设置

    万次阅读 2019-02-26 16:53:21
    tomcat/bin目录下找到catalina.bat,用文本编辑器打开,加上下面一行(位置如图): set JAVA_OPTS=-server -Xms512m -Xmx1024m -Xss256k -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=512M 或者...
  • Linux中设置tomcat启动内存

    千次阅读 2017-11-02 15:10:05
    Linux中设置tomcat启动内存
  • JAVA程序启动时JVM会分配一个初始内存和最大内存给程序。当程序需要的内存超出内存的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。 一、常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError:...
  • linux下更改tomcat启动内存大小

    千次阅读 2018-10-08 20:37:56
    近期要把测试的4个服务迁移到某台测试机器上,可是这台机器的内存空间只剩下4g了, 每个服务要是分配1g的内存,这个机器在流程高峰,内存不够用,可能就会kill掉某个服务了,这样影响了服务的稳定性,如果把对应服务...
  •  tomcat启动的时候出现这种错误一般是项目引用了太多的jar包,或者反射生成了太多的类,或者有太多的常量池,导致非堆内存中永久保存区域不够。这种情况可以通过jvm参数 -XX:PermSize=256M -XX:MaxPermSize=512m来...
  • 扩大Tomcat内存

    2018-12-04 16:08:13
    Tomcat默认可以使用的内存有限的,在较大型的应用项目中,可能会出现内存不够用的情况,需要调大。现总结有以下几种扩大Tomcat内存的方法可以选用: 方法一:这种方法是在Tomcat使用startup.bat文件启动项目的情况下...
  • PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta...
  • 修改下tomcat的bin的文件中的两个文件, 在catalina.bat的第一行增加: Java代码 :set JAVA_OPTS=-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m, 在catalina.sh的第一行增加: Java代码 :JAVA_OPTS...
  • Eclipse启动Tomcat内存不足

    千次阅读 2014-08-12 16:58:10
    Eclipse启动Tomcat内存不足
  • 如何增加tomcat启动内存

    千次阅读 2016-04-05 15:55:05
    1、 linux下的tomcat: 修改TOMCAT_HOME/bin/catalina.sh 位置cygwin=false前。 JAVA_OPTS="-server -Xms256m -Xmx512m -XX:...2、 如果tomcat 5 注册成了windows服务,以services方式启动的,则需要修改注册表中
  • eclipse tomcat启动内存溢出问题
  • tomcat部署出现内存不足 解决方法

    千次阅读 2018-01-31 19:39:30
    转载自 ... 因为内存溢出,要在TOMCAT/bin/catalina.sh 还是TOMCAT/bin/catalina.bat设置增加内存?在windows中批处理是.bat及.cmd为扩展名的文件,所以要修改catalina.bat而linux经
  • tomcat启动内存设置

    2018-04-20 09:55:23
    其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置三、实例,以下给出1G内存环境下java jvm 的参数设置参考:JAVA_OPTS="-server -Xms...
  • 我的内存是8+4 12G 加入以下代码 -server -XX:PermSize=256M -XX:MaxPermSize=1024m 打开tomcat设置 转载于:https://www.cnblogs.com/w-yu-chen/p/10178485.html

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 106,413
精华内容 42,565
关键字:

tomcat启动内存不足