我们几天前在一台装有2g内存的虚拟机上安装了一个专门的graylog2服务器(带有独angular兽,mongodb和eleasantsearch)。
RAM消耗只是不断攀升,我正在频繁地得到高消耗警报。
我正在尝试评估需要多less内存来集中所有系统日志和Rails日志为25个以上的服务器,任何人都有这方面的经验?
或者,有没有人有办法让graylog2和他的依赖应用程序(独angular兽,mongodb,eleasantsearch)在2G内存下?
编辑2013年2月20日 :事实certificate,内存是不是真正的问题后,一点点提高到2.25 GB。 现在的问题是CPU的负载,我们已经得到了所有8个cpu核心几乎100%的graylog-服务器。
只要数据集(数据加索引)超过可用RAM,MongoDB就会随着时间的推移而趋向于100%的驻留内存。 它最终会find一个“稳定状态”,从而新的(最近触摸的)数据被分页或保存在RAM中,并且旧数据(最近最less使用)被分页。 避免这种情况的唯一方法是创build一个比可用内存小的数据集,否则最终会发生这种情况(尽pipe可能需要几小时/几天/几周/几个月,具体取决于访问数据的速度)。
这是没有什么可担心的,类似于内存映射文件和内存消耗的错误报告 – 内核pipe理内存分配,并在其他进程需要时将页面分页。 但是,在写内存使用率高的警报时,要记住这一点很好 – 在大多数情况下,对于MongoDB系统来说,这些警报是毫无意义的。 您可以更好地将页面错误率或磁盘IO视为代理(请参阅MMS中的度量标准了解更多信息)。