Skip to main content

kvm ksm tuning

Context

I am running a no-brand machine, 

  • CentOS 6.3
  • 2 cores
  • 8GB RAM
  • 1 SATA disk

On this I fired 6 virtual machines

  • 2 Centos 6, 1GB RAM each
  • 4 Windows XP, 2GB RAM each

The reader probably noticed I overbooked RAM: If all the VM will use the available RAM it will fill up to 10GB.

I wanted to test the KSM effect on this. The default KSM settings on this OS is:

 KSM_MONITOR_INTERVAL=60
KSM_SLEEP_MSEC=100
KSM_NPAGES_MAX=1500

The result I got is:

  • Memory usage fits in RAM (very low swap usage
  • Too high CPU usage for scanning "same pages" (constantly using the equivalent of 70% of 1 core)
  • Disk IO is reasonnable, but on the other hand load average is high (10)
  • The Windows XP VM are desperately slow (not a surprise)

Tuning

Before tuning, I collected what ressource I could use more

  • This machine can bear more disk IO: I can use swap and RAM a bit more
  • This weak CPU should be a bit more used by VMs instead of KSM

My fisrt idea is to make KSM check less often. This is my new KSM setting:

KSM_MONITOR_INTERVAL=600
KSM_SLEEP_MSEC=1000
KSM_NPAGES_MAX=5000

The result is:

  • Less load average (now 6)
  • Less CPU used (now about 40% of 1 core)
  • More swap used, but IO statistics are still OK (IO Wait, IO throughput)

I'll still wait for users feedback before sticking to this setting (or not).

Comments

Popular posts from this blog

vmware net_device trans_start

VMWare Workstation 12 and Kernel 4.7 When recompiling vmware kernel modules on a kernel 4.7, I get this error:

/tmp/modconfig-xrrZGZ/vmnet-only/netif.c:468:7: error: ‘struct net_device’ has no member named ‘trans_start’; did you mean ‘mem_start’?     dev->trans_start = jiffies;
This seems to be an already encountered problem: http://rglinuxtech.com/?p=1746http://ferenc.homelinux.com/?p=356 I choosed to replace the line, instead of deleting it.

- dev->trans_start = jiffies; + netif_trans_update(dev); I also noted that I had to re-tar the modified sources instead of leaving them untared, because the compilation process only takes the archives. 
On precedent editions of these files, I just left the modified folders "vmnet-only/" and "vmmon-only/" expanded without the need to re-tar them.


Jira workflow for new projects

Associated workflow creation I'm a Jira Cloud user and begining from some version 6, I noticed that when I create a project, it automatically creates a Workflow and Issue Scheme that is prepended by the project key and which is a copy of the default scheme.
I always had to make a cleanup after creating a project. Default workflow for new projects I also miss a feature that would allow me to make a custom workflow (and globally custom project setting) the default for new projects I create.
Solution: Create with shared configuration While searching, I noticed that with Jira Cloud which is version 7.1.0 at the time I write, there is a link at the bottom of the "Create project" wizard:
"Create with shared configuration" will allow me to select the project I want the new one to share configuration with.

The new created project will use the same configuration as the project I selectThere will be no creation of Workflow and Issue Scheme that I need to cleanup

This fea…

vmware workstation 12 unable to load libvmwareui.so

Using VMWare Workstation on ArchLinux, it suddenly refused to launch.
when inspecting the logs, which BTW are in /tmp/vmware-<id>, I see:

2015-12-11T17:41:54.442+03:00| appLoader| I125: Log for appLoader pid=1727 version=12.0.1 build=build-3160714 option=Release
2015-12-11T17:41:54.442+03:00| appLoader| I125: The process is 64-bit.
2015-12-11T17:41:54.442+03:00| appLoader| I125: Host codepage=UTF-8 encoding=UTF-8
2015-12-11T17:41:54.442+03:00| appLoader| I125: Host is unknown
2015-12-11T17:41:54.448+03:00| appLoader| W115: HostinfoReadDistroFile: Cannot work with empty file.
2015-12-11T17:41:54.448+03:00| appLoader| W115: HostinfoOSData: Error: no distro file found
2015-12-11T17:41:54.448+03:00| appLoader| I125: Invocation: "/usr/lib/vmware/bin/vmware-modconfig --launcher=/usr/bin/vmware-modconfig --appname=VMware Workstation --icon=vmware-workstation"
2015-12-11T17:41:54.448+03:00| appLoader| I125: Calling: "/usr/lib/vmware/bin/vmware-modconfig --launcher=/usr/bin/vmware…