maxThreads="600" ///最大线程数
minSpareThreads="100"///初始化时创建的线程数
maxSpareThreads="500"///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
acceptCount="700"//指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理
永久域是一个独立域并且不认为是堆的一部分
-XX:MaxPermSize=256设置永久域的最大值
-XX:PermSize=256M设置永久域的初始值(你的例子显然有问题)
一:安装版本修改:
1.“开始”--“Apache Tomcat 6”--“Configure Tomcat”
2.选择Java标签,在“Initial memory pool(初始内存)”和“Maximum memory pool(最大内存)”中输入你需要的内存参数即可
1.java.lang.OutOfMemoryError:这个错误是因为tomcat JVM的Permanent Generation space(内存的永久保存区域)不足引起的,
这个区域是JVM用于用于存放Class和Meta的信息的内存区域,
jvm默认第三方jar包的大小(4M)
解决方案是人工调整确认大小设置,使用regedit修改注册表
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun2.0\
Tomcat6\Parameters\Java中的 Options参数,在后面增加一下数据
-XX:PermSize=64M
-XX:MaxPermSize=128m
2.java.lang.OutOfMemoryError: Java heap space Heap size 设置 JVM堆内存不足
初始空间(-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4
一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值
修改:
Windows下,在catalina.bat最前面:
set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m
linux下,在catalina.sh最前面增加:
JAVA_OPTS="-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m -Duser.timezone=Asia/Shanghai"
二:线程池配置(Tomcat6下)
使用线程池,用较少的线程处理较多的访问,可以提高tomcat处理请求的能力。
开/conf/server.xml,增加
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />
最大线程500(一般服务器足以),最小空闲线程数20,线程最大空闲时间60秒。
然后,修改<Connector ...>节点,增加executor属性,如:
<Connector executor="tomcatThreadPool"
port="80" protocol="HTTP/1.1"
connectionTimeout="60000"
keepAliveTimeout="15000"
maxKeepAliveRequests="1"
redirectPort="443"
maxHttpHeaderSize="8192" URIEncoding="UTF-8" enableLookups="false"
acceptCount="100" disableUploadTimeout="true"/>
注意:可以多个connector公用1个线程池。
调整连接相关Connector的参数:
connectionTimeout - 网络连接超时,单位:毫秒。设置为0表示永不超时,通常可设置为30000毫秒
keepAliveTimeout - 长连接最大保持时间(毫秒)。此处为15秒
maxKeepAliveRequests - 最大长连接个数(1表示禁用,-1表示不限制个数,默认100个。一般设置在100~200之间)
maxHttpHeaderSize - http请求头信息的最大程度,超过此长度的部分不予处理。一般8K。
URIEncoding - 指定Tomcat容器的URL编码格式。
acceptCount - 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,
超过这个数的请求将不予处理,默认为10个
disableUploadTimeout - 上传时是否使用超时机制
enableLookups - 是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
bufferSize - defines the size (in bytes) of the buffer to be provided for input streams created by this
connector. By default, buffers of 2048 bytes are provided.
maxSpareThreads - 做多空闲连接数,一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程
maxThreads - 最多同时处理的连接数,Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数
minSpareThreads - 最小空闲线程数,Tomcat初始化时创建的线程数
minProcessors - 最小空闲连接线程数,用于提高系统处理性能,默认值为10。(用于Tomcat4中)
maxProcessors - 最大连接线程数,即:并发处理的最大请求数,默认值为75。(用于Tomcat4中)
三 绿色版
在bin\catalina.bat中,添加set JAVA_OPTS=-Xms256M -Xmx1024M设置初始化内存256最大1024这里设置大于1024的就无法启动,应该是tomcat支持的最大内存限制吧
这里其实是设置了一个临时的环境变量,所以设置环境变量同样适用。如果一个tomcat下有多个项目可以将相同的第三方jar放在tomcat\shared\lib下
测试tomcat配置
启动tomcat后在tomcat跟目录下点击status连接可以看到tomcat当前的状态。如果需要登陆则需要修改config\tomcat-users.xml添加用户角色和用户role=manager-gui user标签
<%
Runtime lRuntime = Runtime.getRuntime();
out.println("<br/>*** BEGIN MEMORY STATISTICS ***<br/>");
out.println("Free Memory: "+lRuntime.freeMemory()/1024/1024+"MB<br/>");
out.println("Max Memory: "+lRuntime.maxMemory()/1024/1024+"MB<br/>");
out.println("Total Memory: "+lRuntime.totalMemory()/1024/1024+"MB<br/>");
out.println("Available Processors : "+lRuntime.availableProcessors()+"<br/>");
out.println("*** END MEMORY STATISTICS ***<br/>");
%>
分享到:
相关推荐
### Tomcat6参数设置详解 #### 一、内存参数配置 Tomcat作为一款广泛使用的Java应用服务器和Web容器,其性能优化尤为重要。特别是在资源管理方面,合理地设置内存参数能够显著提升应用程序的运行效率和稳定性。 *...
### Tomcat 启动参数设置详解 #### 一、背景介绍 在部署Java Web应用程序时,经常使用Apache Tomcat作为应用服务器。然而,在高并发或大数据量处理的应用场景下,Tomcat可能会出现内存溢出等问题。为了提升Tomcat的...
#### 三、具体参数设置 1. **打开Tomcat的配置界面** - 打开安装目录下的`bin`文件夹,找到`tomcat7w.exe`(假设Tomcat版本为7)并双击打开。 - 出现的配置界面中包含了对Tomcat的各种配置选项,其中包括“Java...
Tomcat默认可以使用的内存很小,在较大型的应用项目中,这点内存是不够的,有可能导致系统无法运行。常见的问题是报Tomcat内存溢出错误,Out of Memory(系统内存不足)的异常,从而导致客户端显示500错误,一般调整...
- **分阶段调整**:在调整参数时,建议采用分阶段的方式逐步试验,每调整一次后观察应用的行为变化,确保参数设置的合理性。 - **利用系统资源**:根据实际需求合理设置`-Xms`和`-Xmx`,考虑到系统的总内存容量和...
- **调整JVM参数**:可在Tomcat参数设置中添加自定义的JVM参数,例如调整堆内存大小,这对于大型Web应用尤为关键。 - **关联Java项目**:通过工作空间中的Java项目配置,可直接将项目部署到Tomcat服务器,实现一键...
### Tomcat 6.0 修改启动内存设置及 Java JVM 参数配置详解 #### 一、背景与目的 在部署和运行 Java Web 应用时,合理地配置应用服务器(如 Apache Tomcat)的内存是非常重要的。这不仅可以提升应用程序的性能,还...
### Eclipse + Tomcat 内存溢出参数设置详解 在Java开发过程中,特别是在使用Eclipse作为集成开发环境(IDE)并结合Apache Tomcat服务器进行Web应用开发时,经常会遇到内存溢出的问题。这类问题通常表现为应用程序...
10. **Tomcat参数设置** - `maxThreads`:调整Tomcat处理线程数,以适应不同负载情况。 - `acceptCount`:设置等待队列长度,避免请求被拒绝。 - `sessionManager`与`sessionBackupInterval`:配置会话管理器和...
这里,`//IS//`是安装服务的参数,`Tomcat6`是服务的名称,你可以根据需要自定义。 2. 安装完成后,你需要配置服务以开机启动。有两种方法: - 使用命令行:在命令提示符中输入`sc config Tomcat6 start= auto`,...
`Tomcat性能优化,学会薪水翻倍-jmeter测试java -jar --设置参数运行的程序.url`提供了更多关于如何使用JMeter进行性能测试的资源。 通过上述方法,我们可以针对不同场景对Tomcat进行调优,提升其处理请求的能力,...
在Tomcat参数调优部分,首先介绍了如何对Tomcat进行基本的优化设置。通过命令行操作,下载并解压Tomcat的安装包,然后配置tomcat-users.xml文件设置管理用户,并在context.xml中注释掉一些可能引起安全风险的配置。...
### Tomcat服务参数配置详解 #### 一、Tomcat简介及安装 Tomcat是一款开源的Servlet容器,由Apache软件基金会下属的Jakarta项目开发。它实现了对Servlet和JavaServer Pages (JSP)技术的支持,并提供了作为Web...
在Windows环境中以Service方式启动Tomcat时,默认的JVM参数设置往往较低,这可能导致在运行大型应用程序时遇到内存不足的问题,例如常见的`java.lang.OutOfMemoryError: PermGen space`错误。为了避免这类问题的发生...
Tomcat参数配置详解 Tomcat是 Jakarta 项目的一部分,是一个开源的Web应用服务器,可以处理大量的HTTP请求。为了提高Tomcat的性能,需要对其进行合理的参数配置。本文将详细介绍Tomcat参数配置的方法和原理。 一、...
Tomcat7 安装使用及 JVM 连接数参数调优 Tomcat7 是一个流行的 Java Web 服务器,主要用于部署和管理基于 Java 的 Web 应用程序。为了确保 Tomcat7 的稳定运行和高效性能,需要对其进行合理的安装、配置和优化。...
【Tomcat参数优化调整】 Tomcat作为一款广泛应用的Java Web服务器,其性能表现对整个应用系统的效率至关重要。优化Tomcat的参数配置可以显著提升服务的响应速度和稳定性,特别是对于处理高并发请求的大规模应用来说...
Tomcat 虚拟目录设置 Tomcat 虚拟目录设置是 Web 应用程序开发中的一项重要配置。虚拟目录是指在 Tomcat 服务器中配置的目录结构,它可以将 Web 应用程序的资源文件与服务器的物理目录对应起来。在 Tomcat 中配置...