Need help | Estimate RAM & CPU usage

Hi all,

I want to prepare a docker architecture for a project in my company. So I have to POC docker on the company infrastructure, I mean I have to prove that all testing VMs (around 35-40) could be dockerized in one or two replicated VMs.

I’m reading a lot of documentation (on docker website and google topics related to docker), but I never found a response for my question in all what I read.

My question is, how to estimate the usage of RAM & CPU of each container that will run under one VM. For example I want to migrate PostgreSQL databases, LAMP server, LogServers to containers but how can I determine the RAM that I can set to a container without mounting the container for test and monitoring its memory & cpu usage to have an estimation ?

In a normal VM when I set RAM, I take into consideration the Operating System, running processes, tools installed etc. More RAM can be added when a specific program need more RAM cause nagios monitor the usage, but on docker how to anticipate this by setting the correct amount of RAM ?

Please give me all detailed reply that can help me !

Big thanks for you all guys :slight_smile:

Try google/cadvisor

cAdvisor (Container Advisor) provides container users an understanding of the resource usage and performance characteristics of their running containers. It is a running daemon that collects, aggregates, processes, and exports information about running containers. Specifically, for each container it keeps resource isolation parameters, historical resource usage, histograms of complete historical resource usage and network statistics. This data is exported by container and machine-wide.