If you run VMware Workstation 11 or above you may encounter high CPU usage from process khugepaged on Ubuntu 15.04+
The fix is to disable transparent hugepages. It seems Ubuntu has it enabled by default.
You can check the current status on your system by running:
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag
Fedora outputs: always [madvise] never
but Ubuntu outputs: [always] madvise never
Fedora seems to not be effected but I havn't tested it myself.
So I suggest not using madvise and just disable it totally.
To disable it run the following commands as root:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
That will only disable it for the current session.
To have it persistant across reboots I suggest adding this to your rc.local:
# Fix for VMware Workstation 11+ khugepaged.
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
Ensure this goes above the line:
exit 0
More info and references:
Try setting
/proc/sys/vm/compaction_proactiveness
to 1. The thing is, you need to compact eventually. What you want to avoid is a war between VMware and kernel. This will obvisouly happen if you compact too eagerly, which is the default. But if you compact too lazily, for example by not being proactive at all, you will run into a situation where you must do it reactively, with the same bad result. This is as if everyone has kept missing the proactiveness part. Setting it to 1 has now worked for me for some time, at least weeks, if not months.