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:
When I first set only:
vm.compaction_proactiveness=0
back in December it appeared a complete fix, just like a number of previous (but different) fixes did.
However I now see some regular pauses, but much less serious ones. I might lock up occasionally for 10-30 seconds, but generally the problem clears after a few iterations and the system is fine again. It's an annoyance, for sure, but it doesn't block my work.
In case it lends any light on the problem, I am using a 12-core AMD with 64 GB of memory on Ubuntu 20.04. I have seen this problem in Windows VMs with 16 GB of virtual RAM, and 4 or 6 virtual CPUs.
I fear that this fix, like all the others, will gradually become less effective, finally making VMWare Workstation unusable. Previously this problem became so bad I temporarily switched to VirtualBox, and never saw the problem there.