- 浏览: 2262682 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (423)
- FileNet相关 (3)
- 应用服务器相关 (22)
- Java综合 (77)
- 持久层 (24)
- struts (11)
- webservice (8)
- 虚拟机 (2)
- 光盘刻录 (0)
- AD及AD集群 (1)
- JS (33)
- F5 (0)
- loadrunner8.1 (0)
- Java 反编译工具 (2)
- DataBase (62)
- ant (1)
- 操作系统 (29)
- 我的任务 (3)
- 平台架构 (16)
- 业务规则引擎 (2)
- 模板 (1)
- EJB (5)
- spring (24)
- CMMI (1)
- 项目管理 (20)
- LDAP (13)
- JMS (10)
- JSP (19)
- JBPM (2)
- web MVC框架设计思想 (2)
- 第三方支付平台 (2)
- BUG管理工具 (1)
- 垃圾站 (2)
- php (1)
- swing (1)
- 书籍 (1)
- QQ qq (2)
- 移动互联网 (26)
- 爱听的歌曲 (0)
- hadoop (4)
- 数据库 (9)
- 设计模式 (1)
- 面试经验只谈 (1)
- 大数据 (9)
- sp (1)
- 缓存数据库 (8)
- storm (2)
- taobao (2)
- 分布式,高并发,大型互联网,负载均衡 (6)
- Apache Ignite (0)
- Docker & K8S (0)
最新评论
-
wangyudong:
新版本 Wisdom RESTClienthttps://gi ...
spring rest mvc使用RestTemplate调用 -
wangyudong:
很多API doc生成工具生成API文档需要引入第三方依赖,重 ...
spring rest mvc使用RestTemplate调用 -
zhaoshijie:
cfying 写道大侠,还是加载了两次,怎么解决啊?求。QQ: ...
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
xinglianxlxl:
对我有用,非常感谢
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
k_caesar:
多谢,学习了
利用maven的resources、filter和profile实现不同环境使用不同配置文件
常见的内存溢出有以下两种:
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: Java heap space
---------------------------------------------------------
这里以tomcat环境为例,其它WEB服务器如jboss,weblogic等是同一个道理。
一、java.lang.OutOfMemoryError: PermGen space
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,
这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,
它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对
PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误,
这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小
超过了jvm默认的大小(4M)那么就会产生此错误信息了。
解决方法: 手动设置MaxPermSize大小
建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar 文档重复占用内存的目的。
二、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 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。
解决方法:手动设置Heap size
----------------------------------------------------------
Linux下修改JVM内存大小:
要添加在tomcat 的bin 下catalina.sh 里,位置cygwin=false前 。注意引号要带上,红色的为新添加的.
# OS specific support. $var _must_ be set to either true or false.
JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m"
cygwin=false
windows下修改JVM内存大小:
情况一:解压版本的Tomcat, 要通过startup.bat启动tomcat才能加载配置
要添加在tomcat 的bin 下catalina.bat 里
rem Guess CATALINA_HOME if not defined
set CURRENT_DIR=%cd%后面添加,红色的为新添加的.
set JAVA_OPTS=-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true
情况二:安装版的Tomcat下没有catalina.bat
windows服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.
修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions
原值为
-Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"
-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"
-Xrs
加入 -Xms300m -Xmx350m
重起tomcat服务,设置生效
---------------------------------------------------------
各参数的比例:
Xmx 与PermSize的和不可超过JVM可获得的总内存
PermSize不可大于Xmx
请参见其它的参数详解的文章,各参数值大小的本文不讨论.
另外:myeclipse 内存溢出解决方案:
在myeclipse配置tomcat的JDK 下面复制:
-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=400m
发表评论
-
利用tomcat服务器配置https双向认证、https单向认证-ssl、tls
2015-05-29 15:25 4228关键字:利用tomcat服务器配置https双向认证、http ... -
淘宝JAVA中间件Diamond详解(一)---简介&快速使用
2015-04-30 11:02 1091关键字:淘宝JAVA中间件Diamond详解(一)---简介& ... -
用Java来获取访问者真实的IP地址-超准确
2015-04-22 12:55 6259关键字:用Java来获取访问者真实的IP地址-超准确 下面分享 ... -
Myeclipse错误:Errors occurred during the build. Errors running builder 'Deployment
2015-02-15 10:17 3500本文向大家讲解了Myeclipse错误:Errors occ ... -
Nginx配置性能调优
2014-11-08 13:49 1392关键字:Nginx配置性能调优 大多数的Nginx安装指南告诉 ... -
LVS技术浅析-配置管理
2014-09-05 23:42 10689关键字:LVS技术浅析-配 ... -
java内存监控工具及命令
2014-02-20 18:27 4989关键字:内存监控工具 ... -
ddddddddddddddddd
2013-11-29 11:32 1ddddddddddddddddddddddddddddddd ... -
jvm调优总结(从基本概念 到 深度优化)
2013-11-04 11:43 12782关键字:jvm调优总结( ... -
jvm设置3
2013-07-27 14:15 3168关键字:jvm设置3 堆 ... -
jvm设置2
2013-07-27 13:30 6637关键字:jvm设置2 一、相关概念 基本回 ... -
jvm设置1
2013-07-27 13:17 3904高手教大家如何配置JVM ... -
weblogic 11g内存设置
2013-07-24 09:51 23573关键字:weblogic 11g内存设置 weblogic ... -
weblogic 各版本下载地址
2013-01-17 15:37 3835关键字:weblogic 各版本下载地址 下载地址为:ht ... -
weblogic常见错误积累
2013-01-09 15:27 21413关键字:weblogic常见错误积累 1、配置weblog ... -
web服务器和tomcat服务器配置
2011-11-22 14:01 1557关键字:web服务器和tomc ... -
Tomcat6.0配置JNDI数据源完整例子(5.5与此配置相同)
2011-02-11 03:21 2946关键字:Tomcat6.0配置JNDI ... -
WAS6.1配置JNDI数据源
2011-02-09 16:23 1459WAS6.1配置JNDI数据源,有待验证,请等待...... ... -
MyEclipse中配置WebLogic
2010-11-05 18:31 1126配置 MyEclipse 的 WebLogic 92服务器 ... -
WebLogic应用服务器下载地址
2010-11-04 17:49 2860Weblogic 9.2产品直接下载,及Weblogic 9. ...
相关推荐
本文将深入探讨这个问题,并提供有效的解决方案。 内存溢出,也称为“Out of Memory”错误,通常是由于程序请求的内存超过了系统或JVM分配的可用内存。在搜索引擎创建索引时,这可能是由于以下原因造成的: 1. **...
本文主要讨论了 JVM 中的内存溢出问题,包括内存溢出的定义、内存泄漏和内存溢出的区别与联系、JVM 垃圾回收机制、内存溢出的原因分析、常见的四种内存溢出情况以及解决方案。 一、内存溢出的定义 内存溢出是指...
标题中的“关于tomcat乱码以及tomcat jvm 内存溢出问题的解决方案和理论”涉及了两个关键的IT概念:Tomcat服务器的字符编码问题和Java虚拟机(JVM)内存管理的问题。让我们逐一深入探讨这两个主题。 首先,我们来...
jprofiler的使用及联调内存溢出解决方案交流 jprofiler 是一个全功能的 Java 剖析工具,专用于分析 J2SE 和 J2EE 应用程序。它把 CPU、执行绪和内存的剖析组合在一个强大的应用中,提供许多 IDE 整合和应用服务器...
本文将深入探讨Java内存溢出的不同类型及其解决方案。 1. **内存溢出类型** - **1.1. java.lang.OutOfMemoryError: PermGen space** PermGen空间是JVM用于存储类元数据和常量池的部分,不会被垃圾收集器自动...
首先,解决内存溢出问题的关键在于调整JVM的内存配置。在MyEclipse中,可以通过以下路径进行设置:Window > Preferences > MyEclipse > Servers > Tomcat > Tomcat 6.x > JDK Optional > Java VM arguments。在这里...
解决方案是优化代码,减少递归或调整栈的大小(通过-Xss设置)。 3. **方法区/永久代溢出**: 方法区用于存储类信息、常量、静态变量等。JDK8之前,这部分内存被称为永久代,容易因类信息过多而溢出。JDK9之后,这...
tomcat修改JVM内存配置(解决大项目内存溢出问题有效方案)
Python内存管理是一个重要的主题,尤其是对于那些运行长时间后台服务的开发者而言。虽然Python有内置的垃圾回收机制,但...通过这些方法,可以有效地防止和解决Python内存泄漏和内存溢出问题,确保后台服务的稳定运行。
#### 二、针对不同数据库的解决方案 **1. MySQL** 对于MySQL,可以通过修改JDBC连接字符串中的参数来控制结果集的读取方式。具体来说,可以在连接字符串中添加`useCursorFetch=true`和`defaultFetchSize=100`两个...
在Java开发中,当面临大批量数据导出到Excel文件时,可能会遇到内存溢出的问题。这是因为Excel文件格式本身的设计,以及Java默认处理大数据的方式,可能导致内存占用过高,尤其是在一次性加载大量数据到内存中进行...
### 内存溢出解决 #### 背景与概念 在Java开发中,内存管理是确保应用程序稳定运行的关键因素之一。当程序运行时分配给它的内存空间不足以支撑其正常运行时,就会出现“内存溢出”(Out of Memory Error,简称OOM...
Java 中的内存溢出和解决方案 Java 中的内存溢出是一种常见的错误,可能会导致程序崩溃或hang死。了解 Java 中的内存溢出原因和解决方案是非常重要的。本文将介绍 Java 中的几种常见的内存溢出和解决方案。 1.JVM...
Java内存溢出的详细解决方案 Java内存溢出是指Java虚拟机(JVM)中的内存使用超过了最大限制,导致程序崩溃或无法正常运行的错误。Java内存溢出主要有两种类型:PermGen space和Java heap space。 PermGen space ...
内存溢出(Out of Memory,OOM)是...总之,解决Eclipse运行工程时的内存溢出问题需要理解内存管理机制,合理设置JVM内存参数,并结合代码优化。通过这些方法,可以提高Eclipse的运行效率,保证大型工程的稳定运行。
不同的应用和环境可能需要不同的解决方案,因此需要根据具体情况灵活处理。在调整内存设置时,应逐步增大内存,观察程序运行情况,避免一次性设置过大导致其他问题。同时,保持对JVM和应用性能的持续监控是预防和...
通过对Eclipse内存溢出问题的深入分析和解决方案的探讨,我们可以看到,通过合理地调整Eclipse的启动参数、优化项目设置、清理缓存以及禁用不必要的插件等方式,可以有效地解决Eclipse内存溢出的问题。当然,在实际...
在实践中遇到的主要挑战是如何准确地控制和触发这些异常,以及如何有效分析异常原因并提出解决方案。 在后续的学习中,我们将继续探索更深层次的JVM内部工作原理,并学习更多高级的内存管理和优化技巧。此外,还会...