`
SnailWong
  • 浏览: 183662 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

linux下tomcat设置最大连接数,设置最大内存

阅读更多
linux下tomcat设置最大连接数,设置最大内存,使用Jconsole监控
1. 添加tomcat管理员帐户
添加管理员账户tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="admin" password="admin123" roles="admin,manager"/>
</tomcat-users>

2. TOMCAT内存
基本原理:JAVA程序启动时都会JVM 都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要 先去做垃圾回收的动作,释放被占用的一些内存。 所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都可以通过中-Xms -Xmx来调整应用程序的初始内存和最大内存:   如:java -Xms64m -Xmx128m application.jar.

方法1:如果是使用的tomcat_home/bin/catalina.sh(linux)或catalina.bat(win)启动的:
修改相应文件,加上下面这句:
JAVA_OPTS='$JAVA_OPTS -server -Xmx800m -Xms512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true'--ms是最小内存,mx是最大内存。这里设置最小内存为512M,最大内存为 800M。$JAVA_OPTS是保留先前设置。 CATALINA_OPTS似乎可以与JAVA_OPTS不加区别的使用。[对于catalina.bat则是如此设置: set   JAVA_OPTS=-Xms1024m   -Xmx1024m]

方法2:如果使用的winnt服务启动:
在命令行键入regedit,找到 HKEY_LOCAL_MACHINE-->SOFTWARE-->Apache Software Foundation-->Procrun 2.0-->Tomcat5-->Parameters的Java,
修改Options的值,新添加属性:
-Xms64m
-Xmx128m 或者直接修改JvmMx(最大内存)和JvmMs(最小内存)。

有人建议Xms和Xmx的值取成一样比较好,说是可以加快内存回收速度。
修改完之后,可以访问http://127.0.0.1:8080/manager/status查看内存大小。

也可以编写下面测试tomcat内存大小的jsp页面:
<%
Runtime lRuntime = Runtime.getRuntime();
out.println("*** BEGIN MEMORY STATISTICS ***<br/>");
out.println("Free Memory: "+lRuntime.freeMemory()+"<br/>");
out.println("Max   Memory: "+lRuntime.maxMemory()+"<br/>");
out.println("Total Memory: "+lRuntime.totalMemory()+"<br/>");
out.println("Available Processors : "+lRuntime.availableProcessors()+"<br/>");
out.println("*** END MEMORY STATISTICS ***");
%>

3. 增加tomcat连接数
在tomcat配置文件server.xml中的配置中,和连接数相关的参数有:
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout: 网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。 其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。 web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。
如:
<Connector   port="8080"  
      maxThreads="150"    
      minSpareThreads="25"    
      maxSpareThreads="75"  
      acceptCount="100"  
      />  
maxThreads="150"     表示最多同时处理150个连接  
minSpareThreads="25"     表示即使没有人使用也开这么多空线程等待  
maxSpareThreads="75"     表示如果最多可以空75个线程,例如某时刻有80人访问,之后没有人访问了,则tomcat不会保留80个空线程,而是关闭5个空的。  
   
acceptCount="100"   当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接。

4.使用Jconsole监控
在需要监控的tomcat_home/bin/catalina.sh(linux)文件中添加下面语句:JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=8089
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
设置一个新的端口号。然后在本机dos下输入Jconsole命令,弹出“JAVA 监视和管理控制台”,如果是远程监视,就输入<hostname>:<port>,这个port就上上面配置的8089,然后再输入远程主机的用户名跟口令,就可以监控啦。
传说这里面还可以加一句话"-Djava.rmi.server.hostname=192.168.1.80" 没有试过 ⊙﹏⊙b汗 先拷贝上一句话,留作记忆:

   再找找远程tomcat的jmx配置,多了个参数-Djava.rmi.server.hostname=ip_or_hostname。然后我就加上了服务器的IP。然后再连接就可以了。对这样的情况有点不解,再官方又没有找任何这个参数的说明。回来后,再试用一下。在虚拟机的开一个linux,然后配上jmx参数(没有java.rmi.server.hostname的)。结果可以连接。... 公司的为什么不能连接呢?为什么加了IP就行?怀疑多网卡。然后在虚拟机上再加一个网上,然后启动 tomcat ,恩,不能连接(没有server.hostname),然后再加上java.rmi.server.hostname启动 tomcat ,结果或以连接。原来java.rmi.server.hostname是这个作用。
分享到:
评论

相关推荐

    linux下tomcat优化设置最大连接数内存jconsole监控.docx

    ### Linux 下 Tomcat 优化设置最大连接数及内存 JConsole 监控 #### 一、Tomcat 内存优化 ##### 1.1 基本原理 在启动 Java 应用程序时,JVM(Java 虚拟机)会为应用程序分配一定的初始内存和最大内存。这些设置对...

    tomcat在linux下的详细配置

    【正文】 ...以上就是Tomcat在Linux环境下的详细配置,包括优化设置、开机自动启动以及数据连接池的配置。在实际部署时,需结合具体的应用负载和服务器资源进行适当的调整,以达到最佳的运行效率和稳定性。

    linux下tomcat设置参照.pdf

    如果使用Windows服务启动Tomcat,你需要在注册表编辑器中修改`HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat5\Parameters\Java`下的`Options`值,添加相应的内存设置。 监控Tomcat的...

    Linux学习专用Tomcat8.0版本

    6. **性能优化**:针对高并发场景,需要调整Tomcat的连接数、线程池大小、内存分配等参数,以提升服务器性能。同时,了解JVM调优也是必要的。 7. **安全性**:学习如何配置SSL/TLS实现HTTPS,增强服务器的安全性。...

    Tomcat-启动参数设置

    然而,在高并发或大数据量处理的应用场景下,Tomcat可能会出现内存溢出等问题。为了提升Tomcat的稳定性和性能,合理地设置其启动参数变得尤为重要。 #### 二、内存参数设置 ##### 2.1 内存参数的作用 内存参数主要...

    linux+tomcat+mysql+solr调优

    - **最大连接数**:`max_connections`定义了数据库可以同时接收的最大连接数。 - **字符集**:设置数据库使用的字符集,如`utf8`。 - **存储引擎**:`default-storage-engine`指定数据库的默认存储引擎。 示例配置...

    apache-tomcat-8.5.98 linux安装包

    1. **server.xml**: 这是Tomcat的主要配置文件,用于设置端口号、连接器、Context等信息。 2. **webapps**: 存放Web应用的目录,将WAR包或已解压的目录放入此目录,Tomcat会自动部署应用。 3. **conf**: 包含所有...

    Linux之tomcat.zip

    3. **调整并发参数**:在`server.xml`中配置`Connector`元素,调整最大线程数、接受队列长度等。 **六、故障排查** 1. **查看日志**:检查 `$CATALINA_HOME/logs` 目录下的日志文件,找出错误信息。 2. **使用JMX*...

    apache-tomcat-8.0.21 for linux

    - 限制并发连接数,通过调整`MaxThreads`和`MinSpareThreads`等参数。 - 开启压缩以减少网络传输,配置`conf/server.xml`的`&lt;Connector&gt;`属性`compressableMimeType`和`compression`。 - 使用JVM内存调优,设置...

    轻松配置linux Tomcat集群 PDF

    3. **负载均衡**:在集群前设置负载均衡器,如Nginx或HAProxy,根据预设策略(轮询、权重、最少连接数等)将请求分发到各个节点。配置负载均衡器的虚拟主机和后端服务器组。 4. **共享公共资源**:确保所有Tomcat...

    apache-tomcat-6 64位Linux版本

    为了确保安全性和性能,推荐配置Tomcat的连接器(Connector),比如调整最大线程数、最小空闲线程数等参数。同时,可以通过修改`server.xml`中的`&lt;Context&gt;`元素来配置特定应用的属性,如session超时时间、默认编码...

    如何设置Tomcat的JVM虚拟机内存大小

    本文将详细介绍如何在Tomcat目录下根据自己的需求设置JVM虚拟机内存大小。 #### 一、理解JVM内存配置的重要性 JVM内存配置主要包括两个参数:`-Xms` 和 `-Xmx`。 - `-Xms` 指定了JVM启动时分配的初始堆内存大小。 ...

    tomcat 8.5.100

    - **server.xml**:这是Tomcat的主要配置文件,包含了关于连接器、监听器、 Realm(认证)和其他服务器设置的信息。 - **web.xml**:每个Web应用都有一个web.xml,用于定义Servlet、过滤器和监听器等。 - **...

    如何配置Tomcat的JVM虚拟机内存大小

    除了JVM内存配置外,Tomcat的连接器设置也对性能有重要影响。在`server.xml`文件中,有几个关键参数: - `maxThreads`:表示Tomcat可创建的最大线程数,用于处理并发请求,默认为200。 - `acceptCount`:当所有线程...

    linux+tomcat+jdk

    - 根据服务器资源调整Tomcat的配置,如最大线程数、堆内存大小等,这些设置通常在`bin/setenv.sh`中进行。 8. **安全考虑**: - 不推荐以root权限运行Tomcat,而是创建一个特定的用户和组。 - 使用防火墙(如ufw...

    liunx tomcat优化

    以下将详细阐述Linux下Tomcat的优化策略,主要从JVM配置、系统调优、线程池设置以及日志管理等方面进行讨论。 首先,我们关注的是JVM(Java Virtual Machine)的配置。`setenv.sh`文件在Tomcat中是用来设置环境变量...

    tomcat7.62win和linux版本

    - 调整`server.xml`中的连接器配置,例如增大最大连接数、设置线程池等。 - 使用JVM的内存调优参数,如`-Xms`和`-Xmx`控制堆大小。 10. **监控与管理**: - Tomcat内置的管理Web应用(`manager`和`host-manager`...

    tomcat-10.0.5(window 版本 + linux 版本)

    2. **调整最大线程数**:根据服务器硬件和预期负载,调整`maxThreads`和`minSpareThreads`参数。 3. **优化JVM**:可以通过调整JVM的堆大小(-Xms和-Xmx)、开启G1垃圾收集器、启用字符串去重复等策略提升性能。 4. **...

    Linux-tomcat-9.0.68.zip

    【Linux与Tomcat 9.0.68详解】 Linux是一种开源、免费的操作系统,它以其稳定性和安全性在服务器领域广泛应用。Tomcat是Apache软件基金会的项目,是一款开源的Java Servlet容器,主要用于运行Java Web应用程序,...

    Nginx+Memcache+Linux+Tomcat集群

    启动Memcache时,需指定内存大小、监听IP、端口、并发连接数等参数。如果遇到找不到libevent的错误,可以通过创建软链接解决。 3. **安装Nginx**:Nginx的配置中添加了`sticky`模块,用于保持会话一致性。可能需要...

Global site tag (gtag.js) - Google Analytics