The .vmx file is the virtual machine configuration file. The .vswp file is the virtual machine swap file.
I'm sorry that I had mistaken your question at first.
The VMX Swap File and the .vmdk file are the same thing.
For an exploination of VMX Swap Files see VMX Swap Files in the VMware vSphere 5.1 Documentation Center.
Ulli Hankeln wrote:
What is the vmx swap file ???
in order to power-on a VM a certain memory reservation is needed, this is called the memory overhead. In order to reduce the overhead a VMX swap file was introduced. This lowers the overhead from a memory perspective on your host and could increase your consolidation ratio.
thanks for the explanation
was it necessary to call this file vmx swap file ?
this name seems a bit missguiding to me
Yes it was necessary as this memory is solely available for the VMX memory space (a.k.a the memory space that is available to run the virtual machine by the vmkernel). This is not a memory space that is available for any guest os memory transactions.
Andre published an indepth article about vmx swap files: http://myvirtualcloud.net/?p=2051
The confusion is caused because of the name VMX which we take for granted as the .vmx file which stores the configuration file. First of all the VMX here stands for VM eXecutable and not the same as the .vmx file in the virtual machine directory .
when we are running a virtual machine , there comes some basic overheads , ie the processes required to boot the virtual machine , keep it up and running and the agents consume some amount of memory and processing power in addition to the actual load created by the OS application running on the VM.
the VM swap file is there to enable the VM's guest OS to consume less physical memory than the configured memory
the VMX swap file is there to reduce the memory reserved for the VMX process , ie the overhead which we discussed right now .
ie the VM swap is the internal matter of a VM where as the VMX swap file is the responsibility of our VMkernel
hope it helps , correct me if I am wrong or confusing
Here is a good articles that details how swapping works in esxi VMware ESX Memory Resource Management: Swap - VMware Technical Journal - both vm swapping and vmx swapping are mentioned in detail.
Sufficient disk space must exist for the two virtual machine swap files.
These are not same files.
1-) The *.vswp swap file size is determined by the difference between the virtual machine’s configured memory and its memory reservation.
2-) The vmx-*.vswp swap file size is the difference between the assigned overhead memory for the virtual machine and the VMkernel’s reservation.
When a VM is booted following swap space gets created:
VMX Swap file:
Swap space for vmx process
(a VM is made of 1. vmx process and 2 . VMM)
VM swap file:
Swap file for vm's guest address space (memory)
Virtual machine executable (VMX) swap files allow the host to greatly reduce the amount of overhead memory reserved for the VMX process, while the other one is the vm swap, for the vm os.
There are two types of swapping involved
1) Guest OS Swapping.
2) The other type of swapping is done by ESXi Host.
1) One is guest OS swapping, in which the guest OS inside the VM swaps pages out to its virtual disk according to its own memory-management algorithms.
2) When other memory reclaim techniques like ballooning, TPS, Memory compression usage is consumed but still there is memory requirement then
ESXi is going to swap memory pages out to disk in order to reclaim memory that is needed elsewhere. ESXi’s swapping takes place without any regard to whether the pages are being actively used by the guest OS.