-
Notifications
You must be signed in to change notification settings - Fork 142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
High CPU usage #79
Comments
Comparison of userspace killers:
|
We see this internally too. Something like 4.5% of a core all the time. When we profiled it we saw most of the cost coming from walking/reading cgroupfs. At some point in the next 6 months I'm planning on using the edge triggered PSI epoll interface to see if we can cut down on CPU. |
What files does oomd monitor besides memory.pressure? memory.stat? memory.current? something else? Can I configure oomd so that it only monitors /proc/pressure/memory or only /foo/bar/memory.pressure (and nothing more to decrease CPU usage)? |
https://github.com/facebookincubator/oomd/blob/master/Oomd.cpp#L192-L201 That information is collected for every cgroup oomd is assigned to monitor.
Yes, that should be possible. You probably only want the |
Thank you!
Seems like PSI epoll interface won't solve the problem (memory.pressure files is small portion of readable files). |
Yeah that's true. I was thinking we might be able to introduce some short circuit behavior w/ the rule handling. But the problem is that some plugins need to be run to update their sliding windows. We may need to do something clever. |
That or I go try and fix improve the perf on the kernel side. Need to decide which is more feasible. The kernel stuff would probably benefit everyone else the most. |
3013322 should also help a bit in the interim, since it avoids going through these code paths. In my tests, depending on cgroup hierarchy size, it can save from 10-20% CPU. |
oomd uses about 6% CPU whith desktop.json and
--interval 1
.Is it OK?
The text was updated successfully, but these errors were encountered: