Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Apache2的Tomcat6内存分配_Apache_Tomcat_Ubuntu_Memory_Tomcat6 - Fatal编程技术网

使用Apache2的Tomcat6内存分配

使用Apache2的Tomcat6内存分配,apache,tomcat,ubuntu,memory,tomcat6,Apache,Tomcat,Ubuntu,Memory,Tomcat6,我用Apache2在Tomcat6前面 在一个Ubuntu实例上,我使用8GB RAM运行Apache2,因此决定使用以下Apache2.conf配置 <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 550 ServerLimit 55

我用Apache2在Tomcat6前面

在一个Ubuntu实例上,我使用8GB RAM运行Apache2,因此决定使用以下
Apache2.conf
配置

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          550
    ServerLimit         550
    MaxRequestsPerChild  0
</IfModule>
在另一个例子中,我有一个运行8GB RAM的Tomcat6。在Tomcat6
server.xml中,使用以下配置

<Connector port="8009" protocol="AJP/1.3" redirectPort="8080" maxThreads="500"/>

我的问题是

  • 计算/决定Tomcat6中的
    maxThreads
    参数的过程/步骤是什么
  • 如何分配内存

Tomcat6是一个Java应用程序,因此内存分配由JVM完成。我假设您愿意通过apache代理tomcat,如果是这样的话,通常1个apache客户端将作为1个apache线程结束,那么建议在tomcat中使用比apache中的MaxClients指令更少的线程数。这就是说,计算maxThreads参数可能很困难,根据应用程序的不同,每个线程可能会改变其内存使用情况,具有平均值可能很有用,但您还必须考虑其他JVM内存空间、eden、permgen等等

看一看JVM内存设置、每线程堆栈设置……我想这就是您可能想要的

<Connector port="8009" protocol="AJP/1.3" redirectPort="8080" maxThreads="500"/>