Del ett, Linux, framförallt inriktat på CentOS/RHEL
Installera alltid VMWare tools, alltid bättre prestanda med deras minne, nätverk och diskdrivrutiner.
http://packages.vmware.com/tools
Ändra till din version av ESX host
[vmware-tools] name=VMware Tools for Red Hat Enterprise Linux $releasever – $basearch baseurl=http://packages.vmware.com/tools/esx/latest/rhel6/$basearch enabled=1 gpgcheck=1 gpgkey=http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-RSA-KEY.pub
Kör
rpm --import http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-RSA-KEY.pub
för att importera VMWare rpm nyckel
Med vmware tools installerat kan vmhost:en använda Page sharing, Ballooning och Swapping på ett effektivare sätt.
sysctl.conf – minneshantering
I /etc/sysctl.conf vm.swappiness = 0 vm.overcommit_memory = 1 vm.dirty_background_ratio = 5 vm.dirty_ratio = 10 vm.dirty_expire_centisecs = 1000 dev.rtc.max-user-freq = 1024
GRUB.CONF – Kernelrader
Sen har vi hur själva kerneln anropas också, i grub.conf
noapic nolapic apci=off elevator=noop divider=10
Man kan även lägga till ”divider=10” för att interrupt timern till 100Hz
”Here’s some feedback. Host = 2 x 2.8GHz CPU x86_64. Two VMs, one is 2 CPU x86_64, the other is 2 CPU i686. When both vm’s are idle, host CPU hovers around 50%. Using 2.6.9-55.0.9 kernel in host and guests. With the 100HZ kernels (i686 and x86_64) deployed in the guests, host cpu now hovers around 8% when vm’s are idle”
elevator = noop, varför man ska ha detta i RHEL/CentOS? man kan läsa från vissa tester på nätet ”But on Centos 5 the Difference was factor 4 – 5, which I could not reproduce with other Linux-Versions. CFQ with Centos was unusable.”
Jag kan bara dra samma slutsats själv, CFQ är rena döden för VM:en på just CentOS/RHEL MEN som en del skriver, det kan inte upprepas på andra distributioner. Noop elevator ger en stor prestandaökning i RHEL/CentOS.
acpi=off
”Our Linux host needs an acpi=off kernel parameter,
Our host has a hyperthreaded CPU and so with acpi=off, we suspect that we loose that performance advantage. ”
Från VMWare kan man läsa att clocksource=acpi_pm inte behövs efter version 5.3 av RHEL/CentOS
Om din klocka saktar in, lägg till nosmp noapic nolapic optioner till din gästs kernel rad i /boot/grub/grub.conf
I/O Prestanda
För att slippa ”onödig” I/O till disk, rekommenderas att man lägger till noatime i fstab, en rad skulle då kunna se ut såhär
/dev/VolGroup00/LogVol00 / ext3 defaults,noatime 1 1
Har man inget krav på att kunna se när en fil senast accessades så är det en bra sak att lägga till.
Hur håller man sina VM:ar i klocksynk? rekommendationen från VMWare är att köra NTP eller något liknande tidsprotokoll. Om man använder VMWare-tools för att hålla tiden i synk kan man behöva lägga till clock=pit kernel parameter för att undvika att klockan drar sig (clock drifting).
VMWare har själva skrivit en ”best practice” för tidshållnng i gäster http://kb.vmware.com/kb/1006427 ”Timekeeping best practices for Linux”