tomcat常见报错解决
Posted 测开工程师的成长之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat常见报错解决相关的知识,希望对你有一定的参考价值。
问题1 闪退问题
点击右键编辑startup.bat在最开始的地方添加下面两行:
SET JAVA_HOME=C:Program Files (x86)Javajdk1.8.0_45(jdk目录)
SET CATALINA_HOME=D:apache-tomcat-8.0.24(tomcat目录)
问题2:启动窗口乱码,默认都是UTF-8的,但是控制台是GBK的,要保持一致打开tomcat目录下的conf/目录下logging.properties找到java.util.logging.ConsoleHandler.encoding = utf-8这行更改为java.util.loggingng.ConsoleHandler.encoding = GBK
问题3:启动时候报这样的警告:警告 [main] org.apache.catalina.webresources.Cache.getResource 无法将位于[/WEB-INF/classes/templates/framework/help/helpinfo.html]的资源添加到Web应用程序[/zhfx]的缓存中,因为在清除过期缓存条目后可用空间仍不足 - 请考虑增加缓存的最大空间。解决办法:在 /conf/context.xml 的 </Context>前添加以下内容(大小默认是1024,单位是KB):
<Resources cachingAllowed="true" cacheMaxSize="100000" />
问题4:线程优化
conf/目录下server.xml,进行线程的配置即可。
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="400" minSpareThreads="4"/>
问题5 内存优化
bin/catalina.bat
1.增加内存空间
----- Execute The Requested Command -----------------------------------------
set JAVA_OPTS=%JAVA_OPTS% -server -Xms1024m -Xmx1024m -XX:PermSize=212M -XX:MaxPermSize=512m
rem ----- Execute The Requested Command ---------------------------------------
set JAVA_OPTS=%JAVA_OPTS% -server -Xms1024m -Xmx1024m -XX:PermSize=212M -XX:MaxPermSize=512m
echo Using CATALINA_BASE: "%CATALINA_BASE%"
echo Using CATALINA_HOME: "%CATALINA_HOME%"
echo Using CATALINA_TMPDIR: "%CATALINA_TMPDIR%"
2.线程优化
/conf/server.xml
a 配置executor属性,打开/conf/server.xml文件,在Connector之前配置一个线程池:
<Executor name="tomcatThreadPool"
namePrefix="tomcatThreadPool-"
maxThreads="1000"
maxIdleTime="300000"
minSpareThreads="200"/>
重要参数说明:
name:共享线程池的名字。这是Connector为了共享线程池要引用的名字,该名字必须唯一。默认值:None;
namePrefix:在JVM上,每个运行线程都可以有一个name 字符串。这一属性为线程池中每个线程的name字符串设置了一个前缀,Tomcat将把线程号追加到这一前缀的后面。默认值:tomcat-exec-;
maxThreads:该线程池可以容纳的最大线程数。默认值:200;
maxIdleTime:在Tomcat关闭一个空闲线程之前,允许空闲线程持续的时间(以毫秒为单位)。只有当前活跃的线程数大于minSpareThread的值,才会关闭空闲线程。默认值:60000(一分钟)。
minSpareThreads:Tomcat应该始终打开的最小不活跃线程数。默认值:25。
b配置Connector
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
minProcessors="5"
maxProcessors="75"
acceptCount="1000"/>
重要参数说明:executor:表示使用该参数值对应的线程池;
minProcessors:服务器启动时创建的处理请求的线程数;
maxProcessors:最大可以创建的处理请求的线程数;
acceptCount:指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。
听说转发文章
会给你带来好运
以上是关于tomcat常见报错解决的主要内容,如果未能解决你的问题,请参考以下文章