首页IT科技tomcat 内存溢出 自动打dump(TOMCAT内存溢出之解决方法)

tomcat 内存溢出 自动打dump(TOMCAT内存溢出之解决方法)

时间2025-09-18 21:25:30分类IT科技浏览5419
导读:TOMCAT内存溢出之解决方法...

TOMCAT内存溢出之解决方法

问题表现:

当用户执行一个大数据的应用时(净字节码量约为5M)时                ,系统会提示出错:

前台错误为:HTTPStatus 500-

Dispatch[EAITool] to method listCurTree retrun an

exception

(以下省略)

………………………………………………………

………………………………………………………

后台错误为:java.lang.OutOfMemoryError:unabletocreatenewnativethread

atjava.lang.Thread.start(NativeMethod)

atorg.apache.catalina.loader.WebappLoader.notifyContext(WebappLoader.ja

va:847)

(以下省略)

………………………………………………………

………………………………………………………

问题分析:

由于TOMCAT内存溢出而引发的问题                         ,主要原因是JVM的虚拟内存默认为128M         ,当超过这个值时就把先前占用的内存释放                ,而导致好象TCP/IP丢包的假象                        ,出现HTTP500的错误                。

解决方法主要是加大TOMCAT可利用内存         ,并在程序当中加大内存使用                         。

解决方法:

方法:加大TOMCAT可利用内存:

TOMCAT的目录下        ,也就是在TOMCAT41/bin/catalina.bat文件最前面加入

set

JAVA_OPTS=-Xms800m -Xmx800m

表现效果是当你启动TOMCAT时                        ,系统内存会增加近800M使用

操作方法:

1)                 、先关掉WINDOWS服务当中的TOMCAT4服务         。

2)                         、再找到TOMCAT/BIN目录下startup.bat                 ,双击打开它        ,你会发现现WINDOWS内存占用会增加近800M                。

3)        、执行程序                        ,因为是TOMCAT重新编译程序                 ,所以第一次会比较慢                        。

结论:

经过测试,我们得出如下数据:

系统传输约2000条数据时                        ,大约近12M的净数据(不压缩时)                         ,系统辅助运行的内存大约占用150M左右的空间,也就是近200M的内存占用                ,而我们扩大了近800MJAVA内存使用                         ,这对于业务本身来说是足够了         。所以你们不用担心大数据量的传递问题        。

基于JAVA虚拟机的原理         ,JAVA自动有垃圾回收机制                ,也就是在你对一些内存长时间不使用时(近2分钟                        ,取决于使用频度和优先级等)         ,就会自动垃圾回收        ,从而释放不用的内存占用                        。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
会议繁琐(觉得会议过程太麻烦?) 相机标定的基本条件(计算机视觉—— 相机标定)