`
lihuiqi_cn
  • 浏览: 26118 次
  • 性别: Icon_minigender_2
  • 来自: 河北
社区版块
存档分类
最新评论

遇到的Tomcat问题

阅读更多
1.tomcat启用时占用的内存是多少?
可以通过tomcat5w.exe文件来改变tomcat占用内存使用多少问题,但是tomcat默认只有几百兆内存,对于一个大的项目或访问量稍微偏大的网站来说实在太少.
这样问题就来了,tomcat内存达到一定程度,如你设置的最大值,服务器就会崩溃!
安装几个tomcat的情况下,tomcat是通过一个服务来管理内存大小的,呵呵,不过安装几个jvm不晓得能不能解决问题,但,麻烦!
解决办法:

修改Catalina.bat文件
在166行"rem Execute Java with the applicable properties "以下每行
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION% 中的%CATALINA_OPTS% 替换成-Xms128m -Xmx512m

注意:需要的话每个tomcat可以都进行设置大小.
2.Tomcat的版本会影响所占内存吗?
在tomcat\bin\catalina.bat的set CURRENT_DIR=%cd% 前面添加
      set JAVA_OPTS =-Xms512m -Xmx1024m
      意思:设置最小虚拟内存512,最大1024.

  今天tomcat又挂了,一查之下,发现内存只升不降,久而久之,系统就挂死了.另外你可以用java的一个管理工具查看内存使用情况.在jdk1.6.0\bin\jconsole.exe.
 
   总结下内存只升不降的几个原因:
   1.在java中虽然有垃圾回收器,但是对rs等通过jdbc访问数据库的所产生的垃圾,它并不回收!
    2.是否是循环套接层数太多导致资源得不到释放,或者存在死循环,后者的可能性恨大。
    3.Tomcat 不支持EJB组件的开发,做j2ee项目时,最好还是用weblogic服务,而且在做基本的sql语句时,最好用连接池,不要多用jdbc,odbc桥,因为在建立连接时最耗时间

     解决方法是让tomcat自己管理内存,在startup.bat的@echo off下面添加以下代码:
set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_HOME%\conf\logging.properties"

     然后再启动startup.bat,tomcat就会自己管理内存了.
    
     另外事实上,这是一个优化。因为对于操作系统,请求内存的系统调用会占用大量的cpu时间,所以频繁的请求、释放内存将会导致性能的严重下降。所以对于jvm,最好的方式就是尽量多占用内存作为heap,少释放甚至不释放空闲的heap给操作系统以减少消耗在内存请求、释放操作上的cpu时间。
       PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。

改正方法:-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

对于-XX:MaxNewSize=256m -XX:MaxPermSize=256m有疑问的朋友可以到了解下:http://hi.baidu.com/charlesyy/blog/item/b89b5dee30cfdaf9b2fb95d5.html
分享到:
评论

相关推荐

    tomcat问题

    ### Tomcat 启动时遇到端口被占用问题及解决方法 #### 问题背景 在使用Eclipse启动Tomcat服务器时,遇到了一个常见的错误提示:“Several ports (8005, 8080, 8009) required by Tomcat v6.0 Server at localhost ...

    tomcat问题解决

    "Tomcat问题解决"这个主题涵盖了多种可能遇到的问题和解决方案,包括但不限于配置错误、启动失败、性能优化等方面。 首先,当我们遇到“Tomcat问题”时,通常会从以下几个方面进行排查: 1. **配置问题**:检查`...

    idea中Tomcat配置遇到的错误.docx

    在 IDEA 中创建 Maven 项目时,可能会遇到 Tomcat 配置错误的问题,本文将详细介绍 Tomcat 配置遇到的错误、错误原因、解决方案,并讨论 Maven 项目的创建、版本选择、Maven 的 Tomcat 配置等相关知识点。...

    tomcat跨域访问问题

    Tomcat作为一款广泛使用的Java Servlet容器,同样会遇到这个问题。跨域是由于浏览器的安全策略,同一源策略(Same-origin policy)限制了JavaScript对不同源(协议、域名或端口)的请求。为了解决Tomcat的跨域问题,...

    eclipse 访问tomcat问题

    通过上述步骤,可以有效地解决在 Eclipse 中遇到的无法访问 Tomcat 服务的问题。关键在于确保 Eclipse 和 Tomcat 的配置一致性,尤其是安装路径和部署目录的一致性。此外,确保 Tomcat 服务正常启动也是访问成功的...

    tomcat常见问题分析

    在分析Tomcat常见问题时,我们经常会遇到各种各样的错误,这些错误可能涉及到服务器配置、依赖库、系统环境以及应用程序本身。以下是一些常见的问题及其解决方案: 首先,Jdk版本不匹配是导致Tomcat无法正常运行的...

    tomcat常见问题及其解决方法

    然而,如同任何复杂的软件系统,Tomcat在运行过程中可能会遇到各种问题,需要我们有应对策略。以下是对"Tomcat常见问题及其解决方法"的详细解析。 一、启动问题 1. **启动失败**:这可能是由于JDK版本不兼容或者...

    eclipse部署tomcat 报错

    在Eclipse中部署Tomcat服务器时,可能会遇到各种问题。本文将讨论在Eclipse中部署Tomcat服务器时出现的问题和解决方案。 问题描述 在Eclipse中部署Tomcat服务器时,可能会出现各种问题。例如,在Tomcat服务器启动...

    tomcat 环境配置及问题处理

    ### Tomcat环境配置详解及问题处理 #### 一、Tomcat简介 Apache Tomcat是一款开源的Servlet容器,它能够提供对Servlet和JavaServer Pages技术的支持,并且可以作为HTTP Web服务器来使用。通常用于开发和部署Web...

    tomcat启动不了问题处理

    然而,在使用过程中,用户可能会遇到Tomcat无法启动的问题。本文将详细探讨导致Tomcat启动失败的原因及相应的解决方法,帮助读者有效解决这一问题。 #### 一、常见原因分析 1. **JRE/JDK版本不兼容** - Tomcat的...

    tomcat常见问题及解决方法

    然而,在使用 Tomcat 的过程中,开发者经常会遇到一些常见的问题,本文将列举一些常见的问题和解决方法,旨在帮助开发者更好地使用 Tomcat。 1. 如何加载一个属性文件? 加载属性文件是 Tomcat 中的一项常见操作,...

    Eclipse中使用Tomcat插件的遇到的一些问题

    本文将详细介绍在Eclipse中使用Tomcat插件时可能遇到的问题及其解决方案。 #### 二、Tomcat插件的安装 1. **下载并解压Tomcat插件** - 下载合适的Tomcat插件版本。 - 解压后,将插件复制到Eclipse安装目录下的`...

    tomcat部署项目常见问题

    ### Tomcat部署项目常见问题及ExtJS包说明 #### 一、Tomcat部署项目的注意事项 ...通过遵循以上指导原则,可以有效地避免在部署基于Tomcat的应用时遇到的许多常见问题,并确保ExtJS组件能够顺利加载和运行。

    tomcat7.0下的64位的tomcat7.exe 和tomcat7w.exe

    因此,如果用户在64位系统上下载了32位的Tomcat版本,就会遇到这个问题。为了解决这个问题,需要确保下载并安装的是与系统架构相匹配的Tomcat版本,即64位的Tomcat7.0。 标签“tomcat7.exe”和“tomcat7w.exe”...

    Tomcat常见问题集锦(持续更新)

    这篇博客文章旨在收集和解决Tomcat在实际运行中遇到的各种问题,为开发者提供一个宝贵的参考资源。以下是关于Tomcat的一些关键知识点: 1. **Tomcat概述**: Tomcat是Apache软件基金会的Jakarta项目中的一个核心...

    Geoserver解决Tomcat跨域问题文件.rar

    标题中的“Geoserver解决Tomcat跨域问题文件”指的是针对使用Geoserver与Tomcat部署Web服务时遇到的跨域限制的解决方案。在Web开发中,跨域问题是一个常见的安全问题,它源于浏览器的同源策略,限制了JavaScript从一...

    tomcat6异常问题

    本篇文章将深入探讨在使用Tomcat 6.0时可能会遇到的jar问题及其解决方案。 Tomcat 6.0发布于2006年,是Apache软件基金会的Tomcat项目中的一个重要版本,支持Java Servlet 2.5和JavaServer Pages (JSP) 2.1规范。...

    tomcat8080端口占用问题

    tomcat 服务器的8080冲突是使用Tomcat时最容易出现的问题。本人也遇到这个问题,在网上进行了搜查,希望能找到解决办法。至少找到4种解决的办法,试过之后问题没有得到解决。主要是只给出办法,没有对问题的原因进行...

    tomcat跨域解决方案

    当客户端尝试访问由Tomcat服务器托管的应用程序时,如果客户端所在的域名与Tomcat服务器的域名不一致,则可能会遇到跨域问题。为了解决这类问题,本文将介绍如何通过编写`crossDomain.xml`文件来实现跨域访问。 ###...

    nginx+redis+tomcat分布式负载均衡遇到问题解决文档

    nginx+redis+tomcat分布式负载均衡遇到问题解决文档;部署nginx、redis、tomcat时出现的一些常见问题解决方式 ex:Nginx启动错误:error while loading shared libraries: libpcre.so.1

Global site tag (gtag.js) - Google Analytics