优化
JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=6970 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Xms700m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=256m -Djava.awt.headless=true"
在tomcat配置文件server.xml中的<Connector ... />配置中,和连接数相关的参数有:
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
<Connector
port="8080" minProcessors="10" maxProcessors="512"
enableLookups="false" redirectPort="8443"
acceptCount="512" debug="0" connectionTimeout="30000"/>
#-Xmx6000m :设置JVM最大可用内存为6000MB
#-Xms6000m :设置JVM初始可用内存为6000MB
#-Xmn2g :设置年轻代大小为2G
#-Xss128k :设置每个线程的堆栈大小为128k
#-XX:NewRatio=4 :设置年轻代与年老代的比值为4
#-XX:SurvivorRatio=4 :设置年轻代中Eden区与Survivor区的大小比值为4
#-XX:PermSize=512m :设置堆栈永久区起始大小为512m
#-XX:MaxPermSize=512m :设置堆栈永久区最大大小为512m
#-XX:MaxTenuringThreshold=0 :设置垃圾最大年龄为0
#-XX:+UseParallelGC :选择垃圾收集器为并行收集器
#-XX:ParallelGCThreads=8 :配置并行收集器的线程数
#-XX:+UseParallelOldGC :配置年老代垃圾收集方式为并行收集
#-XX:+UseAdaptiveSizePolicy :并行收集器会自动选择年轻代区大小和相应的Survivor区比例,以达到目标系统规定的最低响应时>间或者收集频率等,此值建议使用并行收集器时,一直打开。
JAVA_OPTS='-Xms6000m -Xmx6000m -Xmn2g -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:PermSize=512m -XX:MaxPermSize=512m -XX:MaxTenuringThreshold=0 -XX:+UseParallelGC -XX:ParallelGCThreads=20 -XX:+UseParallelOldGC -XX:+UseAdaptiveSizePolicy'
守护进程
#!/bin/bash
while true
do
Lottery=`ps -ef|grep tomcat|grep '\/home\/appusr\/apache-tomcat-6.0.26'`
if [ -z "${Lottery}" ];then
sleep 10
cd /home/appusr/apache-tomcat-6.0.26/bin
./startup.sh & > /tmp/1.txt
fi
done
另外一个
while true
do
subchannel=`ps -ef|grep tomcat|grep /home/appusr/apache-tomcat-6.0.32|grep -v grep`
if [ -z "${subchannel}" ]; then
/home/appusr/apache-tomcat-6.0.32/bin/startup.sh
echo tomcat `date +'%Y-%m-%d %H:%M:%S'` is starting > /tmp/subchannellog.txt
fi
sleep 10
done
启动形式:
nohup ./subchannel_tomcat.sh & > /tmp/subchannel
或者crontab -e
set CLASSPATH=.
nohup java -server -Xmx6G -Xms6G -Xmn600M -XX:PermSize=50M -XX:MaxPermSize=50M -Xss256K -XX:+DisableExplicitGC -XX:SurvivorRatio=1 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassUnloadingEnabled -XX:LargePageSizeInBytes=128M -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+PrintClassHistogram -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -Xloggc:gc.log -Djava.ext.dirs=lib com.test.server.HttpChunkedServer 8000 >server.out 2>&1 &
分享到:
相关推荐
### Windows 下 Tomcat 的守护进程与心跳检测程序详解 在 IT 领域,特别是 Java Web 开发中,Apache Tomcat 是一个非常重要的轻量级应用服务器,它主要用于部署 Java Web 应用程序。在实际生产环境中,为了保证服务...
例如,可以通过减少不必要的服务和守护进程,提升系统的安全性与性能。同时,考虑内存和CPU的匹配,增加处理器时同步增加内存,以充分利用并行处理能力。 在完成了外部环境的优化后,接下来要关注的是Tomcat自身的...
* daemon:是否将线程设置为守护进程,默认为true。 * namePrefix:线程名称前缀。 * maxThreads:最大线程数,默认为200。 * minSpareThreads:最小活跃线程数,默认为25。 * maxIdleTime:空闲线程等待时间,默认...
还可以利用`catalina.sh run`命令以非守护进程模式启动Tomcat,方便在终端中查看实时输出,帮助定位问题。 总的来说,Apache Tomcat7在Linux上的部署和管理是一个涉及多方面知识的过程,需要理解操作系统、网络、...
3. 使用`catalina.sh run`或`catalina.bat run`以守护进程方式运行Tomcat。 以上是Tomcat的基本安装和配置步骤。在实际应用中,你可能需要根据项目需求进行更复杂的配置和优化。通过阅读《tomcat安装及配置教程.pdf...
- `bin/catalina.sh`(Unix/Linux)或`bin/catalina.bat`(Windows):可以用于更多控制选项,如以守护进程模式启动Tomcat。 5. **启动过程** - 首先,Tomcat读取`server.xml`配置文件,初始化必要的组件和服务。...
- **监控**:使用`bin`目录下的`startup.sh`和`shutdown.sh`(或相应的bat文件)可以以守护进程模式启动Tomcat,便于监控和管理。 5. **性能与优化**: - **线程池**:Tomcat可以通过调整`server.xml`中的`...
也可以通过管理工具如catalina.sh的`run`选项以守护进程模式运行Tomcat。 5. **部署Web应用**:将你的Web应用(WAR文件或解压缩的目录结构)放入webapps目录下,Tomcat会在启动时自动部署它们。你还可以通过管理...
### Tomcat 6.0 启动过程分析 #### Bootstrap 类的作用 `Bootstrap` 类作为 Tomcat 的启动入口,承担着构建一个独立的类...这一过程不仅揭示了 Tomcat 内部工作原理,也为进一步理解和优化 Tomcat 配置提供了基础。
这包括但不限于调整内存分配、减少不必要的后台服务和守护进程,以及优化磁盘I/O性能。 其次,**Java虚拟机(JVM)调优**至关重要。推荐使用SUN(现在是Oracle)的JVM,因为新版本通常在性能和效率上有显著提升。...
`catalina.sh`和`catalina.bat`用于更复杂的管理任务,如启动特定的web应用或者以守护进程模式运行。 5. **Web应用程序部署**:Web应用程序通常被打包为WAR文件,可以放置在`webapps`目录下,Tomcat会自动检测并...
2. **核心组件**:Tomcat的核心组件包括Catalina(Servlet容器的主要实现)、Coyote(HTTP/1.1协议处理器)、Jasper(JSP引擎)和Commons Daemon(用于在类Unix系统上作为守护进程运行Tomcat)。在源码中,你可以...
独立模式(通常默认)使Apache始终运行,而inetd模式会在HTTP请求到达时由inetd守护进程启动Apache,这种方式资源消耗较小,但性能可能较低。 2. **Port**: 设置Apache监听的端口号,默认为80,这是HTTP协议的标准...
此外,Unix系统下的日志管理和守护进程(daemon)转换也是重要的运维任务。 JDK 1.4虽然较旧,但其仍然是许多遗留应用的基础。此补丁确保了Tomcat与JDK 1.4的良好兼容性,意味着开发者可以继续使用他们熟悉的环境,...
Tomcat主要由几个核心组件构成,包括Catalina(Servlet容器)、Jasper(JSP引擎)、Apr(Apache Portable Runtime,提供高性能的网络功能)、Connector(负责处理请求和响应)、Commons Daemon(用于在Unix系统上...
Apache Tomcat是一个开源的软件应用服务器,主要用于部署和运行Java Servlet和JavaServer Pages(JSP)应用...对于生产环境,建议使用像`catalina.sh run`这样的命令以守护进程模式运行Tomcat,以确保服务的稳定性。
这些脚本会启动Tomcat的Catalina守护进程。 3. **部署Web应用程序**: 只需将Web应用的WAR文件(Web应用的压缩格式)或整个解压后的Web应用目录放入`webapps`目录下,Tomcat会在服务器启动时自动部署。 4. **访问...
cronolog基于cron守护进程运行,可以按照预设的时间格式(如小时、天或周)对日志进行切割。当新的日志数据到达时,它会创建一个新的日志文件,并将当前日志重定向到这个新文件,同时保留旧的日志文件,方便日后查询...