【问题标题】:Initial and maximum recomended Heap size on server服务器上的初始和最大推荐堆大小
【发布时间】:2017-07-17 14:40:44
【问题描述】:

我有几个应用程序在 Glassfish 应用服务器 (4.0) 上运行。我已经使用 DataDog 记录了一些 java 内存使用情况的统计数据,因此我可以查看已用堆内存的历史记录以及 initialmaximum 常量堆大小。

图像显示了初始(黄色)、最大值(蓝色)和实际(紫色)堆值。

正如您在上面看到的,实际堆大小总是低于初始堆值,所以我打算移动这些参数以提高服务器的性能,但我不确定这是否真的有必要。

所以,我有这个疑问:

  1. 值得修改堆参数吗?
  2. 如果是这样,哪些参数通常是正确的? (例如:初始值比平均实际堆值高 100 mb,最大值是这个数字的两倍)。

我想这个问题在谈论 tomcat、JBoss 或任何面向 servlet 的服务器时都是正确的。

我们将不胜感激。

【问题讨论】:

    标签: java glassfish heap-memory


    【解决方案1】:

    视情况而定。此外,我的回答未显示您的图片。

    如果您的机器非常需要内存,并且您是一个没有无限收入的个人,我认为您的方法会很好。我会建议从一个稍高的任意百分比开始,例如 50%,以提供一点回旋余地。继续分析内存使用情况并相应地调整您的最大值。我看不出有任何理由将内存使用量设置为低于默认值。

    否则,您可以更加无偿地提供 100-200% 的额外内存,以防您的应用程序遇到突然的重负载。

    【讨论】:

    • 抱歉,我已经添加了图片。
    • 好的,所以你的内存使用量似乎远低于你的最大值,但据我所知,标准值通常是 2 的幂。所以除非你真的需要处理很多一次请求/加载,在这种情况下,我会将其设置为 1024MB。保持最低限度不变。
    猜你喜欢
    • 2010-12-29
    • 1970-01-01
    • 2018-04-14
    • 2012-03-10
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2019-03-21
    • 2012-09-19
    相关资源
    最近更新 更多