`

Tomcat-警惕内存溢出

 
阅读更多

OutOfMemoryError: PermGen Space

 

 

先提供解决办法

Solution

By default, Tomcat is assigned a very little PermGen memory for the running process. To fix it, increase the PermGen memory settings by using the following Java VM options.

 

-XX:PermSize<size> - Set initial PermGen Size.
-XX:MaxPermSize<size> - Set the maximum PermGen Size.

 

In the next step, we will show you how to set the VM options in Tomcat, under Windows and Linux environment.

 

Windows

Tomcat is managed by this script file catalina.bat, dive inside the script, you will find out that catalina.bat always find and run the setenv.bat file to set the environment variables.

 

To set the environment variable on Windows, create a setenv.bat manually, and put it into the ${tomcat-folder}\binfolder.

 

set JAVA_OPTS=-Dfile.encoding=UTF-8 -Xms128m -Xmx1024m -XX:PermSize=64m -XX:MaxPermSize=256m

 

Restart Tomcat, it will call the setenv.bat file to set the environment variable automatically.

 

如果设置后启动Tomcat控制台输出乱码,是因为CMD窗口的编码不是UTF-8导致的。

将上面的file.encoding改为GBK即可。

 

 

 

Linux

On Linux, the process is same, just Tomcat is using catalina.sh and setenv.sh instead.

Find out where is catalina.sh :

$ sudo find / -name "catalina.sh"

Review the catalina.sh, script, it behaves like Windows, but use setenv.sh instead.

 

Create a setenv.sh manually, and put it into the ${tomcat-folder}\bin\ folder.

 

${tomcat-folder}\bin\setenv.sh

 

export JAVA_OPTS="-Dfile.encoding=UTF-8 -Xms128m -Xmx1024m -XX:PermSize=64m -XX:MaxPermSize=256m"

 

 Restart Tomcat.

 

 

 

下面2个截图是Tomcat7启动后的初始内存使用状态,与设置setenv之后的状态对比:

 

初始时

 

设置后



 

 

 

 

  • 大小: 11.5 KB
  • 大小: 11.5 KB
分享到:
评论

相关推荐

    tomcat-redis-session-manager-1.2-tomcat-7-java-7

    tomcat-redis-session-manager-1.2-tomcat-7-java-7tomcat-redis-session-manager-1.2-tomcat-7-java-7tomcat-redis-session-manager-1.2-tomcat-7-java-7tomcat-redis-session-manager-1.2-tomcat-7-java-7tomcat-...

    tomcat-juli.jar和tomcat-juli-adapters.jar

    《深入理解Tomcat-Juli与Juli-Adapters》 在Apache Tomcat服务器的运行环境中,`tomcat-juli.jar`和`tomcat-juli-adapters.jar`是两个至关重要的组件,它们对于日志管理和适配器功能起着关键作用。这两个JAR文件的...

    开发工具 apache-tomcat-8.0.41-windows-x86

    开发工具 apache-tomcat-8.0.41-windows-x86开发工具 apache-tomcat-8.0.41-windows-x86开发工具 apache-tomcat-8.0.41-windows-x86开发工具 apache-tomcat-8.0.41-windows-x86开发工具 apache-tomcat-8.0.41-...

    apache-tomcat-10.0.8.zip

    apache-tomcat-10.0.8.exe、 apache-tomcat-10.0.8.tar.gz、 apache-tomcat-10.0.8.zip、 apache-tomcat-10.0.8-windows-x64.zip、 apache-tomcat-10.0.8-windows-x86.zip、 apache-tomcat-10.0.8-deployer.tar.gz、...

    apache-tomcat-9.0.27.tar (1)

    apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)apache-tomcat-9.0.27.tar (1)...

    tomcat-jdbc数据源所需jar包tomcat-jdbc.jar+tomcat-juli.jar

    标题中提到的"tomcat-jdbc.jar"和"tomcat-juli.jar"是使用Tomcat-jdbc数据源所必需的两个关键库文件。下面将详细介绍这两个jar包的作用和相关知识点: 1. **tomcat-jdbc.jar**: 这个jar文件包含了Tomcat的JDBC...

    apache-tomcat-9.0.45-windows-x64

    apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-tomcat-9.0.45-windows-x64apache-...

    apache-tomcat-8.5.78-windows-x64安装包-kaic.rar

    apache-tomcat-8.5.78-windows-x64安装包 apache-tomcat-8.5.78-windows-x64安装包 apache-tomcat-8.5.78-windows-x64安装包 apache-tomcat-8.5.78-windows-x64安装包 apache-tomcat-8.5.78-windows-x64安装包 ...

    tomcat-juli.jar,tomcat-juli-adapters.jar,log4j-1.2.12.jar tomcat 6日志输出

    这里提到的`tomcat-juli.jar`、`tomcat-juli-adapters.jar`和`log4j-1.2.12.jar`是与Tomcat日志输出密切相关的组件。 1. **tomcat-juli.jar**: Tomcat JULI(Java Util Logging Implementation)是Tomcat自定义的...

    apache-tomcat-8.5.42.zip 集成了 tomcat-redis-session

    最新的apache-tomcat-8.5.42版本+最新的tomcat-cluster-redis-session-manager-2.0.4 配置了JAVA_OPTS,详见bin/catalina.sh及bin/catalina.bat文件 配置了manager账号密码,详见conf/tomcat-users.xml文件 卸载了...

    apache-tomcat-9.0.7全系列(32bit,64bit,安装版,解压版,文档)

    2018-04-18 01:19 5,623,087 apache-tomcat-9.0.7-fulldocs.tar.gz 2018-04-18 01:19 11,168,080 apache-tomcat-9.0.7-windows-x64.zip 2018-04-18 01:19 10,830,323 apache-tomcat-9.0.7-windows-x86.zip 2018-04-...

    tomcat-redis-session-manager的jar包-包含Tomcat7和Tomcat8

    Tomcat-Redis-Session-Manager是一个开源项目,它允许Tomcat服务器将用户的session数据存储到Redis缓存系统中,而不是默认存储在本地内存或文件系统。这一设计显著提升了session管理的性能和可扩展性,尤其是在集群...

    tomcat-redis-session-manager-1.2-tomcat-6&7

    标题 "tomcat-redis-session-manager-1.2-tomcat-6&7" 指的是一个用于在Tomcat服务器中集成Redis作为session管理器的组件。这个组件使得Web应用程序可以利用Redis分布式缓存系统来存储和管理用户的会话数据,从而...

    tomcat-redis-session-manager包集合下载(tomcat8)

    【标题】"tomcat-redis-session-manager包集合下载(tomcat8)"涉及的主要知识点是将Redis集成到Tomcat中管理会话(session),以提高Web应用的性能和可扩展性。 【描述】中提到的"所需的tomcat-redis-session-...

    tomcat-redis-session-manager-1.2-tomcat-6.jar

    用于配置 tomcat-redis-session-manager

    apache-tomcat-9.0.45-src

    apache-tomcat-9.0.45-srcapache-tomcat-9.0.45-srcapache-tomcat-9.0.45-srcapache-tomcat-9.0.45-srcapache-tomcat-9.0.45-srcapache-tomcat-9.0.45-srcapache-tomcat-9.0.45-srcapache-tomcat-9.0.45-srcapache-...

    tomcat-redis-session-manager jar包

    2. **性能优化**:根据实际负载调整Redis配置,例如设置合理的缓存淘汰策略,避免内存溢出。 3. **监控与报警**:定期监控Redis和Tomcat的运行状态,设置合适的性能指标阈值,以便在出现问题时及时收到警告。 通过...

    tomcat-redis-session-manager for tomcat8.5

    文件名写错了,此压缩文件支持tomcat8.5。是否支持8.0请自行测试,本人只测试了8.5,可以使用。压缩文件包括tomcat-redis-session-manager-...apache-tomcat-8.5.33.tar.gz,nginx-1.6.2.tar.gz也打包进去,一步到位。

    tomcat-juli.jar和tomcat-juli-adapters.jar和log4j-1.2.17.jar

    tomcat6的log4j配置所需要的jar包、日志分割 准备三个包:log4j-1.2.17.jar tomcat-juli.jar tomcat-juli-adapters.jar 放到tomcat的lib目录或者是工程的WEB_INF/lib下

Global site tag (gtag.js) - Google Analytics