在32位系统上,JVM的内存限制为1.5到2 GB。 64位Linux上的JVM内存有什么好处?如何在tomcat中映射到最大线程数和最大请求数?
我使用的是JDK 6+和tomcat 7.在四核处理器上可用的RAM为12 GB。
MRD
答案 0 :(得分:3)
我认为这个问题没有开箱即用的答案。这在很大程度上取决于您要承载的应用程序类型以及它将在您的系统上运行多少。我在一个64位的Linux系统上管理一个3-4个applöications的小型服务器。使用4GB对我来说已经足够了。
我的建议是猜测你的应用程序需要多少内存。然后使用监视工具启动tomcat,然后观察tomcat上有多少负载。您可能为tomcat分配了太多资源。也许太少了。你永远不会知道
请阅读Simultaneous users上的这篇文章,以及有关load balancing in tomcat
的文章基本上,您必须区分用户和请求。您可能有5000个用户浏览您的网站,但只有100个用户在一个时刻要求新页面。默认情况下,tomcat支持50个并发请求(尽管不是100%肯定)。但是这个数字可以在tomcat配置中更改。显然,您可能需要更多硬件。在第二篇文章中,建议每个tomcat实例最多200个请求。只有第二篇文章中提到的简单计算规则并进行一些监控才有帮助。
甚至还有tomcat的负载均衡器管理器。看看这个 load balancer for tomcat
还有一点需要考虑的是,虽然您拥有硬件和正确的负载平衡以支持5000个用户,但您还需要足够的带宽来实现这一目标。在第二篇文章中再次解释了“在tomcat中进行负载均衡”
祝你好运答案 1 :(得分:1)
这取决于有多少用户同时访问您的应用程序。
有时候,应用会在特定时间点运行得非常慢,
例如,在上午8:00,登录操作导致应用程序无法忍受。
我建议您根据“用户总数”估算每位用户的平均内存,
然后你可能会得到几乎正常的内存设置。