How to get RAM, CPU, network usage on a specific process on a container
I am looking at a number of Docker containers running on a Centos7 VM. Each container will be running a number of processes. For each process, I want to be able to see the CPU network and RAM usage to identify when the container is starting to get overloaded. Getting the CPU and RAM of the container is not going to be enough, as the CPU could have 100% of RAM allocated but in the processes there is actually RAM to spare. I have used Sysdig chisels to get the CPU usage of separate processes, but network and RAM use is not incorporated. Specifically for network statistics I want to be able to know network packets dropped any other relevant statistics. Ideally, I would be able to use a Sysdig-like tool to retrieve the stats from the host, instead of having to use resources inside the container to run a separate log generator.
One Solution collect form web for “How to get RAM, CPU, network usage on a specific process on a container”
I believe you can use
docker top <container id> to view all the processes running in a container but this will not show you the memory and cpu usage etc.
You can, as suggested in the comments view the total memory usage, cpu usage, i/o etc of a entire container using
docker stats <container id>.
Alternatively you can log into your container and just have a look yourself by using
docker exec -it <container id> bash but note, you may not have bash available depending on your base so you may have to use