Graylog2 / Graylog2/graylog2-server

Graylog memory sizing docs

Open
#15,753 4 comments 0 reactions 0 assignees View on GitHub
documentation triaged
Dominant language
Java
Stars
8.1k
Forks
1.1k
Avg merge
1d 20h
Merged PRs (30d)
217

Description

## What?

I've not found information about how to plan graylog memory sizing.

## Why?

I've installed graylog with default parameters and with no running inputs it eats 3GB+ of memory.
Also when I check the System/Nodes it reports around 500Mb jvm heap. When I check with "top" command it reports 600M+ res and 4G+ virt.
When I set jvm opts -Xms500m -Xmx500m The result is the same.
This is normal? How it scales when adding input traffic?

If i set the kubernetes resource limit to 4G of ram the graylog process oom killed.

On the official faq i found this:
"Isn’t Java slow? Does it need a lot of memory?

This is a concern that we hear from time to time. We understand Java has a bad reputation from slow and laggy desktop/GUI applications that eat a lot of memory. However, we are usually able to prove this assumption wrong. Well written Java code for server systems is very efficient and does not need a lot of memory resources.
Give it a try, you might be surprised!"

I think this section is not so useful without numbers and/or more info about memory sizing.
I've also tested 5.0 some time ago, the difference was that version also reports long GC times (even if no traffic received).

## Your Environment

* Graylog Version: 5.1.2
* Elasticsearch Version: 2.6
* MongoDB Version: 6.0.6
* Operating System: linux/ubuntu jammy
* Browser version:

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.