java - 指定 JBoss 的最佳最小和最大堆大小

标签 java jboss production

我有一个 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/

相关文章:

java - 如何解决这个java方法中的stackoverflow异常?

java - 使用 Jackson 反序列化 JSON 数组

java - 在 QA 和 PROD 中部署时,url 大小超过一定限制时出现 403 错误

jenkins - Jenkins-JBoss AS-使用jenkins重新启动服务器

java - 使用 jqGrid 压缩 JSON

reactjs - Next.js 页面在生产版本中以 404 结尾

javascript - Rails 生产从 app/views/model 渲染 JS 部分

java - 可序列化对象中的 ArrayList 未携带 writeUnshared/readUnshared (通过网络)

ruby-on-rails - JRuby on Rails Production 响应 200 OK 即使 Controller 代码设置状态 :unauthorized

java - 在运行时预编译 Jsp 文件