# Recommended RAM ratios for ELK with docker-compose

**URL:** <https://discuss.elastic.co/t/recommended-ram-ratios-for-elk-with-docker-compose/141403>\
**Category:** Elasticsearch\
**Created:** [July 24, 2018, 2:34pm UTC](https://discuss.elastic.co/t/recommended-ram-ratios-for-elk-with-docker-compose/141403 "2018-07-24T14:34:59Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rob\_Davidson](https://avatars.discourse-cdn.com/v4/letter/r/d6d6ee/32.png) [@Rob\_Davidson](https://discuss.elastic.co/u/Rob_Davidson)\
**Post date:** [July 24, 2018, 2:35pm UTC](https://discuss.elastic.co/t/recommended-ram-ratios-for-elk-with-docker-compose/141403/1 "2018-07-24T14:35:00Z")

</div>

I have a production server with 8GB RAM. Im looking to host elastic,logstash and kibana on the server. Using documer compose.

What would be the recommended java sizes memory sizes for each of the containers. How might I configure this.

My docker-compose looks like the following

```
---
version: '3'
services

  kibana:
    build:
      context: kibana/
    container_name: kibana
    volumes:
      - ./kibana/config/:/usr/share/kibana/config:ro
    networks: ['elk']
    depends_on:
      - elasticsearch
    restart: always

  elasticsearch:
    build:
      context: elasticsearch/
    container_name: elasticsearch
    networks: ['elk']
    volumes:
      - ./elastic-data:/usr/share/elasticsearch/data
      - ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
    restart: always
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    environment:
      - cluster.name=es-docker
      - node.name=node1
      - bootstrap.memory_lock=true

  logstash:
      build:
        context: logstash/
      container_name: logstash
      volumes:
        - ./logstash/pipeline/logstash.conf:/usr/share/logstash/pipeline/logstash.conf:ro
      networks: ['elk']
      ports:
        - "5044:5044"
      depends_on:
        - elasticsearch
      restart: always

networks: {elk: {}}

```

Now searching around on the elastic documentatino im seeting some settings like  
`- "ES_JAVA_OPTS=-Xms512m -Xmx512m"` etc

So what I would like to know.. For the above docker-compose what settings should I allow for java heap sizes / memory limit and how do I update the compose to include it.

My thoughts are  
4GB for elastic  
2GB for logstash  
1GB for Kibana

1GB reserved for host

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [August 21, 2018, 2:35pm UTC](https://discuss.elastic.co/t/recommended-ram-ratios-for-elk-with-docker-compose/141403/2 "2018-08-21T14:35:11Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
