J2EE剑侠行

直觉我的J2EE应用生涯,打造我心中的一把利剑。

常用链接

统计

技术链接

最新评论

TOMCAT内存溢出之解决方法

问题表现:

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

前台错误为:HTTP Status 500-Dispatch[EAITool] to method listCurTree retrun an exception

(以下省略)

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

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

后台错误为:java.lang.OutOfMemoryError: unable to create new native thread
        at java.lang.Thread.start(Native Method)
        at org.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分钟,取决于使用频度和优先级等),就会自动垃圾回收,从而释放不用的内存占用。

posted on 2006-03-10 14:15 @家军 阅读(9097) 评论(2)  编辑  收藏 所属分类: J2EE技术类

评论

# re: TOMCAT内存溢出之解决方法 2009-03-02 22:08 huter

UFO不会出现一个字节的内存泄漏,UFO在托管机房丢包率很高、遭受Hacker攻击、互联网 骨干网被黑等恶劣的环境条件下仍然能很好地运行;UFO在对付Hacker方面(防Hacker弄down和Hacker抓取不该访问的资源)也有足够措施。
UFO是世界上最稳定最快的支持Jsp的Web Server,用UFO做Web Server,网站可以做到一万年也不down,对于Jsp程序的各种问题,UFO的作者也会免费帮您解决。下载网址:www.gm365.com  回复  更多评论   

# re: TOMCAT内存溢出之解决方法 2010-05-11 09:16 ljt

学习物理其实不是很难的,最重要的是看我们要这样去学习,怎样与生活中联系起来。在学习物理概念、物理规律时,进行科学方法、实验方法,物理学史教育等。这样能使学生易于接受和理解,是学生接受知识的有效的方法。在物理实验时,进行科学方法教育。既是学习知识的过程,同时也是让学生领略物理科学方法的过程。在开设专题讲座时,进行科学方法教育 。使学生较全面,系统地掌握一些重要的常用的物 理科学方法。充分利用课堂探究。 让学生“通过经历与科学工作者进行科学探究时的相似过程,学习物理知识与技能,体验科学探究的乐趣,学习科学家的科学探究方法,领悟科学的  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: