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.

  • How to access Consul used in Docker overlay networks?
  • docker doesn't get the latest images with tag latest
  • Docker Unable to find image '502:20' locally. How can I resolve this issue?
  • How to debug an application running in Docker with IntelliJ?
  • GO - Local import not working
  • Docker Add command doesn't work in nested destination directory
  • How do I obtain a nodes IP address in a swarm using docker remote API?
  • Create a docker image/container from EC2 AMI
  • docker exec command doesn't return after completing execution
  • Updating docker images with small changes using commits
  • jekyll not updating static CSS, HTML files in docker development container
  • Docker Swarm, Compose V3 and exposed IP address
  • 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 sh.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.