这个文章与 Oracle 的 Hotspot JVM 虚拟机的内存管理为参照的。这些建议是我们在对大的 Confluence 安装实例用户进行咨询服务的时候得到的最佳配置方案。

不要在 Confluence 中使用 Concurrent Mark Sweep (CMS) ,除非你得到了 Atlassian 支持小组的明确说明。这个需要额外的手工调整和测试,通常这个会降低系统的性能。

使用一个小的 heap

在不出现 OutOfMemory 错误的情况下,保持你的 heap 尽可能的小。当你遇到了 OutOfMemory 错误,需要增加 heap 的时候,我们推荐你按照 512MB 到 1 GB 的顺序进行增加。如果你还持续的获得 OutOfMemory 错误,那么你可以考虑再继续增加 512 MB 或者 1GB。你可以持续进行增加,直到你不再出现 OutOfMemory 错误。不要尝试一次增加到位,这样可能会导致垃圾收集时间的增长。

删除所有老的收集参数

只有在完全的 GC 后,JVM 将会重新定义 Eden, Survivor 等参数的大小,这个大小是基于 GC 处理来确定的。这个将会保证 GC 处理程序能够处理真实的垃圾情况和垃圾对象。在绝大部分情况下,能够保证 JVM 为你提供更好的性能。

如果你的 JVM 中添加了参数,当在垃圾收集的时候遇到了困难。那么我们建议你删除掉你在 GC 前添加的参数,除非你添加的这些参数是为了解决一些特定的问题。你现在应该考虑如何避免在 GC 中出现的问题,而不是导致其他的问题。

检查你的虚拟机(VM)资源

如果你运行 Confluence 在一个 VM 上的话,检查这个 VM 没有使用 swap 文件。

如果这个 VM 了使用了 swap 文件,那么当 JVM 进行垃圾收集的时候,将会把这些 swap 文件载入到内存后清理他们,这个将会导致垃圾清理进程的长时间暂停。为了避免使用 swapping, ballooning 和 bursting,将这些信息载入到 VM 的内存中。

手动清理

如果你按照上面的说明进行了操作后还遇到了一些困难,但是你还是希望能够提高系统的性能,我们推荐你使用Garbage Collection (GC) Tuning Guide 页面提供的方法。这个页面将会知道你如何达到你自己期望的性能指标(throughput/footprint/latency)和如何进行调整。

查看你的垃圾收集日志

How to Enable Garbage Collection (GC) Logging 和使用类似  Chewiebug's GCViewer 工具来查看结果的日志。

 

Confluence 6 垃圾收集性能问题的更多相关文章

  1. Confluence 6 缓存性能示例

    有关 Confluence 的缓存性能如何设置,让我们看看下面的表: 缓存(Caches) % 使用的缓存(Used) % 有效率(Effectiveness) 对象/大小(Objects/Size) ...

  2. 【摘录】JAVA内存管理-评估垃圾收集性能的工具

    第七章 评估垃圾收集性能的工具 各种各样的诊断和监视工具可以用来评估垃圾收集性能.本章简要概述他们中的几个.可以通过第九章中的“Tools and Troubleshooting”链接获得更多的信息. ...

  3. Confluence 6 高级性能诊断

    请在你的系统服务请求中包括下面所有的信息,如果可能的话,你也可以在请求中包括你认为最有可能出现的问题.这样的话,可以避免我们进一步对你系统的问题进行询问. 系统信息 Confluence 服务器 你系 ...

  4. Confluence 6 缓存性能优化

    Confluence 的运行状态与缓存状态有这密切的关系.针对 Confluence 的管理员来说,尤其是大型站点的 Confluence 管理员,设置好缓存尤其显得关键. 希望修改缓存的大小: 进入 ...

  5. Confluence 使用常见问题列表

    Confluence 6 管理 Atlassian 提供的 App 摘要: Confluence 用户可以使用桌面应用来编辑一个已经上传到 Confluence 的文件,然后这个文件自动保存回 Con ...

  6. JVM性能优化读后笔记

    java性能优化权威指南读后笔记 三重境界 1.花似雾中看:对于遇到的额问题还看不清,不知道真真假假,是是非非. 2.悠然见南山:虽然刚开始对这个领域还不清楚,但随着时间推移,你对它有许多自己的见解, ...

  7. Confluence 6 识别系统属性

    Confluence 支持一些可以从 Java 系统属性中配置的配置参数和调试(debugging )设置.系统属性通常是使用 -D 为参数选项,这个选项是 Confluence 在运行后设置到 JV ...

  8. 在虚拟环境下运行 Confluence 6

    这个页面针对运行在虚拟硬件环境下的 Confluence 提供一些信息. 概要 在虚拟环境(virtual machine (VM))下运行 Confluence 需要一些特定的技能来进行设定和进行管 ...

  9. JVM性能调优入门

    1. 背景 虽然大多数应用程序使用JVM的默认设置就能很好地工作,仍然有不少应用程序需要对JVM进行额外的配置才能达到其期望的性能要求. 现在JVM为了满足各种应用的需要,为程序运行提供了大量的JVM ...

随机推荐

  1. 20155324 2016-2017-2 《Java程序设计》第2周学习总结

    20155324 2016-2017-2 <Java程序设计>第2周学习总结 教材学习内容总结 Java可区分为基本类型(Primitive Type)和类类型(Class Type)两大 ...

  2. Java中使用到的锁

    同一进程 重入锁 使用ReentrantLock获取锁的时候回判断当前线程是否为获取锁的线程,如果是则将同步的状态+1,释放锁的时候则将状态-1,只有将同步状态的次数置为0的时候才会是最终释放锁. 读 ...

  3. [国家集训队] Crash 的文明世界

    不错的树形$ DP$的题 可为什么我自带大常数啊$ cry$ 链接:here 题意:给定一棵$ n$个节点的树,边权为$ 1$,对于每个点$ x$求$ \sum\limits_{i=1}^n dist ...

  4. java 写 Excel(不生成实体文件,写为流的形式)

    java 写 Excel(不生成实体文件,写为流的形式) public String exportReportExcel(String mediaCode, List<SimpleMediaRe ...

  5. 【NLP CS224N笔记】Lecture 1 - Introduction of NLP

    I. 什么是NLP NLP全称是Natural Language Processing,即自然语言处理,这是一门计算机科学.人工智能以及语言学的交叉学科. NLP涉及的几个层次由下图所示.可以看到输入 ...

  6. P4843 清理雪道

    题目地址:P4843 清理雪道 上下界网络流 无源汇上下界可行流 给定 \(n\) 个点, \(m\) 条边的网络,求一个可行解,使得边 \((u,v)\) 的流量介于 \([B(u,v),C(u,v ...

  7. Python全栈(第一部分)day2

    昨日内容回顾 编译型:一次性将全部代码编译成二进制文件 代表语言: C,C++ 优点:执行效率高 缺点:开发速度慢,不能跨平台 解释型:当程序运行时,从上至下一行一行的解释成二进制 优点:开发速度快, ...

  8. Xilinx原语学习之时钟资源相关原语

    一直来,都是使用Vivado中自带的GMIItoRGMII IP核来完成GMII转RGMII的功能:尽管对GMII及RGMII协议都有一定的了解,但从没用代码实现过其功能.由于使用IP时,会涉及到MD ...

  9. 关于python中的矩阵乘法(array和mat类型)

    关于python中的矩阵乘法,我们一般有两种数据格式可以实现:np.array()类型和np.mat()类型: 对于这两种数据类型均有三种操作方式: (1)乘号 * (2)np.dot() (3)np ...

  10. Node.js WEB服务器(1)——编写简单的HTTP服务器

    基于分而治之的思想,很多架构都会采用分层的模式来处理某类应用.Node.js在Web开发上也是采用这种模式,分别提供了如下的三个层: Node核心 社区模块 应用逻辑 下面是一个最简形式的web服务器 ...