我有一个 Web 应用程序,我想将其部署到 Linux 计算机上进行生产。该机器将在 JBoss 4.2.3 上运行,并且前面将是最新版本的 Apache Web Server(使用 mod_jk)。这是机器上仅有的两个应用程序。服务器有 1.7GB RAM。我希望获得一些有关如何在此生产环境中找到 JBoss 的最佳最小 (-Xms) 和最大 (-Xmx) 堆大小的信息或引用。
问候
最佳答案
找到最佳堆大小的一个好方法是使用 VisualVM (http://hillert.blogspot.com/2010/01/remote-profiling-of-jboss-using.html) 和负载测试。这使您可以可视化负载下的堆使用情况以及垃圾收集发生的时间和频率。选择一个像这些人建议的数字(在您的情况下在 700mb 到 1024mb 之间)将您的实例置于负载状态并观察内存配置文件。我怀疑您会发现 1.7GB 对于大多数生产应用程序来说是不够的。这通常表现为由于大量 gc 颠簸、响应时间差和/或内存不足错误而导致的 cpu 图表线尖峰。关键是在测试之前您无法确定。
关于java - 指定 JBoss 的最佳最小和最大堆大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5805468/