-
用ssh架构开发,在tomcat上运行,出现java.lang.OutOfMemoryError: 20
各位帮帮忙,我已在tomcat的startup.bat中设置了:set JAVA_OPTS=-Xms512m -Xmx1024m
但是,只有我一个用户,我自己稍做几步操作,就java.lang.OutOfMemoryError:
请问还有什么原因,会使内存泄漏啊?2008年6月22日 16:19
24个答案 按时间排序 按投票排序
-
采纳的答案
这是我在tomcat的catalina.bat中设的值:
set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx768m -XX:MaxPermSize=512M -XX:MaxNewSize=512m -XX:MaxPermSize=512m
目前用spring管理上千个bean(dao+service+action),推荐你下载Probe对tomcat进行性能监控2008年6月23日 18:42
-
首先确定你是操作那几个步骤(或者页面)报错,然后重启服务器,进入圈定的页面(之前要在页面对应的后台程序设置断点)操作调试,检查每一行代码(尤其是涉及数据库调用的代码,有时可能是反复查询早成的),当发生溢出时也不一定就是报错那一行代码的错误。
报错后你要把前面的代码再检查一遍,因为有可能溢出是累积的结果。
内存溢出原因大家都说了很多,无非是数据过多造成的,主要是检查代码的逻辑错误,以及失误造成的,
在检查过程中范围要根据情况适当放大(比如有数据库调用要看下调用的底层代码情况等)
仔细检查应该能找到原因,祝你尽快找到原因。
2008年6月25日 23:39
-
首先, 我觉得JAVA_OPS你设置的参数值算是 偏大了,对只是开发测试来说。 应该不存在设小的问题 。
其实 ,你也不太担心程序员代码烂,JAVA的内存问题算是解决的好的了。。
以下着手。
1. 多半是全表查询的了数据。
通过数据 监控SQL 比便可知
2. Java里面 死循环操作。
可能有死循环操作。。如果是 unix ,linux 可监控 进程 100% kill-3,然后看日志文件 当前进程的做的操作。
当然,各个JDK 有所不同。一般估计你用的是SUN的
2008年6月25日 17:05
-
有一种是在hibernate中查询数据时,提取的数据量太大,造成hibernate OutOfMemory;
一般在5000条的时候就出现这个问题了;2008年6月24日 19:29
-
楼主,这个你得先分清楚你的OutOfMemory属于哪一种原因,一般常见的有两种,一种是PermSize类,一种是heap space。
如果是PermSize的话,那么,可以利用Java虚拟机参数调整进行调节,相关文章网上一大堆了,不多说了。如果还不够的话,可以扩充服务器的内存。
如果是heap space的话,一般是由于程序中有缺陷导臻内存泄漏,你需要跟踪tomcat的jvm输出日志分析错误原因。我有一篇文章特别说heap space的错误介绍了一个起手势吧,呵呵,看看对你有没有用。
文章地址:http://wap.iteye.com/blog/1973542008年6月24日 15:03
-
一般这样的情况有以下几点:
1. 你使用了hibernate里的一对多关系,而表里的一对多关系过多,造成你数据量一大,循环过多,照成内存占用太多.一般建议不要使用一对多关系,只留下多对一关系
2. 你的对象溢出,没有及时的内存回收,建议用profile进行内存监控.
3. 仔细检查你这几步所输出的对象,是否读出了大量的对象出来2008年6月24日 00:59
-
http://localhost:8080/manager/html
看看
VM到底是多少
Free memory: 5.68 MB Total memory: 76.68 MB Max memory: 986.12 MB2008年6月23日 17:30
-
datesetName.close();
statementName.close();
preparementName.close();2008年6月23日 16:09
-
如果没进行内存分配,点几步就内存溢出,那首先可能是系统加载东西过多
如果进行了内存分配,还出现问题,有可能是模块的问题
建议:
如果不确定是哪一模块有问题
把模块卸载掉,看是否还溢出,还溢出,再卸载,只剩下框架
然后再堆加模块,如此跟踪,虽是麻烦,但却有效2008年6月23日 13:11
-
那一定是代码问题了,逐步跟踪一下,看看是不是哪个线程的循环没有退出来
几步就down掉肯定是代码上存在严重缺陷,应该很容易查找,要不你把代码贴出来看看2008年6月23日 09:28
相关推荐
- Tomcat错误之java.lang.OutOfMemoryError:PermGen space解决方案
- 启动项目报java.lang.OutOfMemoryError: PermGen space 错误的解决方法
- jvm 内存溢出 在myeclipse中加大tomcat的jvm内存 java.lang.OutOfMemoryError: PermGen space
- JVM内存溢出,在myeclipse中加大tomcat的jvm内存java.lang.outofmemoryerror.permgenspace
- java.lang.OutOfMemoryError: PermGen space
相关推荐
1. 使用 Java 提供的垃圾回收机制:Java 提供了多种垃圾回收机制,例如 generational garbage collection、parallel garbage collection 等。 2. 使用外部工具:例如使用 Eclipse 的 Memory Analyzer Tool (MAT) ...
### Java 错误处理:java.lang.OutOfMemoryError: Java heap space 在Java应用程序开发过程中,经常遇到的一个问题就是内存溢出错误,特别是在处理大量数据或长时间运行的应用时。其中,“java.lang....
java.lang.OutOfMemoryError: PermGen space 解决方案
在 Eclipse 中通过 Tomcat 运行 J2EE 项目时,可能会出现 java.lang.OutOfMemoryError: PermGen space 异常,这是由于 JVM 默认分配的运行空间过小,导致 J2EE 项目加载的类过多,造成内存溢出。 PermGen space 是...
### 编译时出现java.lang.OutOfMemoryError Java heap space异常 #### 一、问题概述 在进行Java项目编译的过程中,可能会遇到`java.lang.OutOfMemoryError: Java heap space`这种异常。这类异常通常表明Java虚拟机...
Java程序在运行过程中可能会遇到各种异常,其中"nested exception is java.lang.OutOfMemoryError: Java heap space"是一个常见的问题,通常发生在程序试图分配超过堆内存限制的空间时。这个错误表明Java虚拟机(JVM...
Java中的`java.lang.OutOfMemoryError`是一种常见的运行时错误,通常表示应用程序在尝试分配内存时遇到了问题。根据提供的信息,这个错误主要涉及到两个方面:`PermGen space`和`Java heap`,并且与Tomcat服务器相关...
在Java应用程序运行过程中,"java.lang.OutOfMemoryError: PermGen space"错误是常见的一个问题,尤其是在使用Tomcat这样的Java应用服务器时。这个错误表明应用程序在 PermGen 区域(Permanent Generation)耗尽了...
在使用Myeclipse进行Java开发时,可能会遇到`java.lang.OutOfMemoryError: Java heap space`这个错误提示。这种异常通常发生在应用程序占用的堆内存超过了Java虚拟机(JVM)分配给它的最大堆内存限制时。本文将详细...
在Tomcat中java.lang.OutOfMemoryError: Java heap space异常处理: 1. Heap size JVM堆的设置是指Java程序运行过程中JVM可以调配使用的内存空间的设置。 2. JVM在启动的时候会自动设置Heap size的值,其初始空间...
在Java应用服务器中,Tomcat是一个非常常见的轻量级选择,尤其在开发和部署Web应用程序时。然而,如同任何其他程序一样,Tomcat也可能遇到内存管理问题,导致内存溢出。"java.util.concurrent.ExecutionException: ...
2. **类信息未被卸载**:Java默认情况下不会自动卸载不再使用的类。这意味着即使不再使用的类也会占用PermGen space的空间。 3. **动态代理或注解处理**:在使用诸如Spring AOP这样的框架时,会生成大量的代理类,...
在Java程序中,`java.lang.OutOfMemoryError: Java heap space` 是一个常见的错误,意味着程序在运行过程中耗尽了JVM分配的堆内存。这个错误通常发生在创建大量对象或者单个对象占用过多内存时。 一、问题描述与...
在Java应用程序的运行过程中,内存管理是至关重要的,尤其是对于服务器端应用如Tomcat来说,内存配置的合理与否直接影响到应用的稳定性和性能。本文将针对两种常见的Java内存溢出错误——`java.lang....
tomcat内存溢出解决办法,错误信息:java.lang.OutOfMemoryError:PermGen space 参考该文档可快速解决内存溢出的问题,服务器:tomcat
java.lang.OutOfMemoryError: Java heap space 解决方法
### Java.lang.OutOfMemoryError:Java Heap Space 错误及处理办法 在Java应用程序开发与维护过程中,经常会遇到`java.lang.OutOfMemoryError: Java heap space`这一异常情况。该异常通常表明Java虚拟机(JVM)的堆...
Java中的“内存不足OOM (Out Of Memory):java.lang.OutOfMemoryError”是一个常见的运行时错误,它表示Java虚拟机(JVM)在尝试分配新的对象或数据结构时,发现系统内存不足以完成此操作。这个问题通常发生在程序...