Docker Community Forums

Share and learn in the Docker community.

Com.docker.hyperkit up CPU to 340%


(M4olivei) #21

Same here :(. Looking forward to any updates on the issue.


(Jean Traullé) #22

I am facing the same issue. Interested in getting some logs ?


(Mark van der Velden) #23

I’m not sure if it means anything, but I’ve just checked the statistics and noticed that in roughly 7 minutes of CPU time, it made more than 10M context switches and made more than 20M system calls. That does sounds like a lot, compared to other processes. E.g.: My editor was on similar numbers after 3 hours of CPU time.

In a little under 10 seconds CPU time, the process performs:

  • 244.469 context switches
  • 450.700 unix system calls

Maybe it’s unrelated or the numbers mean nothing, just thought I’d share.


(Motomoto) #24

Dear developers, can we expect a fix anytime soon or a switch to docker machine would be a better idea for the moment?

Thanks for your hard work)


(Juan Pinazo) #25

Thanks for the clue, motomoto. I was having the problem, then decided to use docker-machine to create a virtualbox docker machine. Now CPU usage in average 30% with my database running, instead of 150+ percent when using Docker Beta for Mac.


(Travis Petticrew) #26

I’m seeing the com.docker.hyperkit process taking up all available CPU resources. I’m not sure what I did to cause it. My computer was asleep for the weekend and when I woke it up it started running hot. I can’t successfully complete a docker ps, but I’m pretty sure I’m not running any containers right now.

SIGKILL seems to have fixed it for now.

Here is my daignostic code:

46C9E22B-9724-4D89-B36A-B78515184804


(Dave Padovano) #27

+1 for this issue as well.

I killed the process and restarted my containers and it restored the CPU usage to a normal level temporarily.


(Joehoppe) #28

+1 for this issue.

i just run 4 containers with docker-compose. After calling a service like apache or a nodejs request the cpu usage rais up over 200%. It never go back to normal and i can use the fans and the heat of my macbook as a hairdryer.
Even a restart of the whole system and docker causes this behavior in minutes.


(Rogthefrog) #29

+1 for this. I’ve been looking forward to the GA version of Docker so I can stop using the crappy Docker Toolbox + VirtualBox + docker-osx rsync hack, but this CPU issue makes it a non-starter.

Using Mac El Capitan.


#30

Looks like this problem is related to inotify.

I use docker for developing apps with Playframework (https://www.playframework.com). When I use ‘~compile’ which automatically compiles code on every file change, the cpu usage for hyperkit shoots up to 200% even when the process is idle. i.e. no compilation is going on and waiting for file changes.

When I do the same without docker, cpu load never goes up when idly listening for file changes.


(David Sheets) #31

Hello,

It sounds like Play may not be using inotify. Could you supply a reproduction which allows us to test your base image use? Just a simple image/Dockerfile that we could docker run in order to see this ~compile behavior would be very appreciated.

Thanks,

David


#32

Here is the image containing ‘activator’ which can be used to reproduce the scenario.

naumanbadar/activator-runner

Note that its a humungous image of size ~3G because I copied all the sbt/ivy2 dependencies to reduce the startup time in addition to it having base image of java:8-jdk.

Anyway to reproduce the scenario, first you will have to create a project on local director using the container. cd into a temp directory somewhere on your machine and execute the following command:

docker run --rm -v $(pwd):/project naumanbadar/activator-runner activator new TestPlay play-scala

This will create a project directory called TestPlay in your pwd. Next you start the compile process which will recompile the project on any file change with the following command:

docker run --rm -it -v $(pwd)/TestPlay:/project naumanbadar/activator-runner activator ~compile

After it finishes compiling for the first time, it will wait for source changes to trigger compilation again.

Now if you open any source file e.g. TestPlay/app/controllers/HomeController.scala in your editor of choice on your machine and edit and save it, the compilation process will kick in.

Now this automatic compilation would not start with docker+vmware but it does start with Docker for Mac apparently due to inotify.

Now if you leave the process running without changing any files, in case of

  • running natively without docker java process goes down to ~4% cpu load

  • running with docker, cpu load stays around 50% for hyperkit and around 25% for osxfs

Note that previously I said that cpu for hyperkit is around 200% but I noticed that if I leave the process idle meaning without changing any files for around 3 minutes, it goes down to 50% as stated above.


#33

Hello David,

Here the compiler has been sitting idle for last half hour but my mac feels like a hair drier with fan speed going crazy high. :slight_smile:

Also has the highest energy impact of ~180.

Please also note that only if I disable automatic compilation and do it manually every time after changing sources, then the cpu load stays low, almost close to as running it natively without container.

Hope it helps.


(Jeff Steinmetz) #34

Same thing here, 340% CPU utilization.
And that is just with the Docker app running in the toolbar in the background - not running any containers or doing any active development.


(Twarlop) #35

Mine is sticking to 100%, and my docker isn’t even running :wink: nope, i’m not kidding here… might be just me

however:

➜ ~ docker info
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
➜ ~ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS

➜ ~

In an attempt to provide as much info as possible, with probably things that really don’t matter but…
closed app using cmd-q
yet still activity monitor still shows it…
problem might have started right after coming out of sleep… think i noticed it about 10minutes after lunchbreak. (so 10 mins after sleep)
docker is still set to start on boot, so it did actually run before the quit, however, never started a single container since my last reboot… haven’t touched docker in over a month…

reopening docker app, makes my activity monitor show this:

then closing it again (can’t show screen because new users can only add 1 image)

keeps the original (same PID) 100% ‘com.docker.hyperkit’ open and a ‘com.docker.vmnetd’ and yes cpu still spiking for 100%
Hope this helps resolving the issue or might give anyone else a hint to finding the problem

Can’t wait to get back to docker, as i do miss it :slight_smile:


(Mathiaslm) #36

I have this issue as well. Any container with Grunt watching mounted files will cause the CPU to run amok. I suspect it’s related to the fact that the files are being watched by both Grunt and Docker, concurrently.


(Farismmk) #37

+1, also seeing this

It also happens after a clean restart and no interaction with docker during my session. Usually about 30 minutes into the session.


(Agentorange) #38

+1, same here. I have experienced this with docker-machine as well as docker for mac. My MBP is running hot.


(Roman44) #39

+1. Same here. macOS Sierra 10.12


(Hpurmann) #40

Same here for mocha watch mode. I’m on Docker stable 1.12.1 (build: 12133). So I guess it’s not fixed in the current beta?