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参数
windows及linux环境下,tomcat启动参数的设置。在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,解决办法是在系统参数中增加系统参数...
Tomcat默认可以使用的内存很小,在较大型的应用项目中,这点内存是不够的,有可能导致系统无法运行。常见的问题是报Tomcat内存溢出错误,Out of Memory(系统内存不足)的异常,从而导致客户端显示500错误,一般调整...
在/usr/local/apache-tomcat-5.5.23/bin目录下的catalina.sh 添加:JAVA_OPTS='-Xms512m -Xmx1024m' 要加“m”说明是MB,否则就是KB了,在启动tomcat时会报内存不足。 -Xms:初始值 ...重起tomcat服务,设置生效
Eclipse + Tomcat 内存溢出参数设置
对Tomcat启动参数,内存的设置
对Tomcat 内存最大值最小值进行设置
tomcat 优化,主要对tomcat进行介绍,对参数进行说明,并进行参数设置调整,提高性能、。
tomcat7安装使用及jvm连接数参数调优
Tomcat 7 Windows中以Service方式启动配置启动参数
POST请求本身并未限制传入参数大小,是tomcat 容器设置了接收参数大小的限制 解决过程: vim server.xml <Connector port=8080 protocol=HTTP/1.1 connectionTimeout=2000 redirectPort=8443 URIEncoding=UTF...
tomcat 服务上线修改 tomcat设置 字符设置 配置参数设置
tomcat 常用参数设置。。。
Tomcat启动参数调优,包括堆设置,收集器设置,并行收集器设置、并发收集器设置..及这些设置的举例
主要介绍了通过spring boot 设置tomcat解决 post参数限制问题,需要的朋友可以参考下
tomcat解决跨域访问问题,具体配置如下: 1、修改tomcat下的Conf/web.xml文件,在该文件内容中新增以下配置,注意,若该web.xml中存在其它filter,则需要将该filter放在所有filter前面; <filter-name>...
很好的TOMCAT-5.5.X优化配置文档,详细说明了各个的参数设置
某些通过URL来传送、值为汉字的参数,在页面中显示的是乱码,但是在本地开发环境是正常显示的。排除的因素当然就是服务器的设置不当了,但具体是那些原因呢?一般我们所装的linux服务器,是中文版的,所以系统环境的...
在tomcat配置文件server.xml中的配置中,和连接数相关的参数有: minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10 maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75 ...
tomcat8.0.27压缩包安装解压安装,并注册成为服务。包含tomcat注册服务时的参数设置。