这个文章与 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. mssql 创建存储过程简单实例

    CREATE procedure [dbo].[cp_User_Increment] @channelId int, @currentPage int, @pageSize int, @userId ...

  2. oracle 存储过程(包)的写法和执行

    --in 代表输入参数,out 代表输出参数create or replace procedure myproc(id in int, v_message out varchar2) is--定义临时 ...

  3. webservlce 的各个属性

    [WebMethod(Description = "我是可见的", MessageName = "GetAboutIntroduction")]//有这个标志的 ...

  4. python随机数random模块

    需要  import random x=random.random()    产生 0 到 1 之间的随机浮点数 结果  0.005570080000840916 x=random.randint(1 ...

  5. 原型理解:prototype

    这一系列的链接的原型对象就是原型链(prototype chain) 1.所有对象都有同一个原型对象,都可通过Object.prototype获得对象引用 2.new出来的构造函数对象原型就是构造函数 ...

  6. imooc-free

    前端性能优化-通用的缓存SDK 依赖项 1.在hosts文件中配置  127.0.0.1 http://cc.imooc.com   就可以直接访问 http://cc.imooc.com:3000 ...

  7. apache fileupload 文件上传,及文件进度设置获取

    文件上传action处理: boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) ...

  8. Ubuntu 16.04 Matlab2015b安装

    小白一个,安装过程参考了一大堆教程. 这里记录一下. 一.安装 1) sudo mkdir /media/matlab 2) cd 到下载的镜像文件所在文件夹 3) 挂载镜像: sudo mount ...

  9. Pftriage:分析和追踪恶意文件,识别特征

    项目地址 PFTriage:https://github.com/idiom/pftriage 参考 Pftriage:如何在恶意软件传播过程中对恶意文件进行分析 https://www.freebu ...

  10. python中// 和/有什么区别

    python中// 和/有什么区别 通常C/C++中,"/ " 算术运算符的计算结果是根据参与运算的两边的数据决定的,比如: 6 / 3 = 2 ; 6,3都是整数,那么结果也就是 ...