Does anyone one know if you can Disable Transparent Page Sharing?
Just wondered if it was per VM or per ESX server, that is if you can do it at all?
Sorry for ramdom question revising for VCP and wondered?
Gary
You can disable it per server.
From the command line
echo 0 > /proc/vmware/config/Mem/ShareScanTotal
echo 0 > /proc/vmware/config/Mem/ShareScanVM
Save the changes in the file /etc/vmware/vmkconfig, otherwise it will not hold after a reboot.
Message was edited by: kix1979
And it can also be done on a per-VM basis using a sched.mem.* hierarchy .VMX option.
Thanks JMills, that is really good to know! I actually have had to setup a server with no TPS for a client because of their request based on a few of the VMs. Looks like I can call them back ![]()
Part of the DMZ/Firewall VM KB I'm writing will include things like disabling TPS.
Could you find out from them why they need it disabled? I'm collecting various business cases where one might want to temporarily or permanently disable it... typically they're related to either performance under extreme duress, or standards certification (i.e., performance under worst-case scenario resource overcommit).
I know the reason, which is absurd to me. The senior server admin loves the idea of VMWare for reducing hardware costs, but he had in his mind that sharing memory pages could create serious instability in his web servers, they do about $300M via web orders annually. His contention is that if multiple servers are sharing the same page and that page gets corrupted it could kill all of the servers accessing it. I tried to demonstrate differently, but at the end of the day he would not believe me.
Thanks for the reply's
Is it these options you spoke about in the vmx files?
sched.mem.pshare.enable
sched.mem.pshare.debug
sched.mem.pshare.scanRate
sched.mem.pshare.checkRate
Yes, but there are some boundary conditions which alter the behavior of scanRate / checkRate.
sched.mem.pshare = "FALSE"
should shut off TPS for an ESX Server VM. You'll need to do this while the VM is powered off, nat'ch.
*****
Fixed typo.
Message was edited by: JMills
He must be a developer of sorts...
The great thing about TPS is that it constantly keeps track of identical (and typically static) memory pages across the VMs. When the memory is no longer identical (ie: it gets corrupted, lets say...due to bad code) the mapping from Virtual Page Numbers of that guest to Machine Page Numbers on the host are removed from the Shadow Page Table in the VMkernel. Have him pick up Carl Waldspurger's paper, its a good read ![]()
Scott
Agh.
sched.mem.pshare = "FALSE"
is the correct one for ESX Server 2.x ... mybad.