I have over 512 GB of Ram available on my ESXi host. And I have only one Ubuntu Virtual machine on this ESXi host.
When I Boot up my Ubuntu VM using 16 GB of Ram, it boots up fine.
When I increase the RAM size to 128GB, it will not power on. I get the following message:
Power On VM
Key - haTask-1-vim.VirtualMachine.powerOn-185717447
Description - Power On this virtual machine
Virtual machine - C01-PL-ONIAP01
State - Failed - Module 'MonitorLoop' power on failed.
Errors - Module 'MonitorLoop' power on failed.
File system specific implementation of Lookup[file] failed
File system specific implementation of LookupAndOpen[file] failed
Failed to extend swap file from 0 KB to 134217728 KB.
Current swap file size is 0 KB.
Failed to extend the virtual machine swap file
Could not power on virtual machine: No space left on device.
Failed to power on VM.
Failed to start the virtual machine.
I'm not sure if this issue is on the Ubuntu Side or on the ESXi side. I believe I have isolated the issue to be one of those two, as the memory and chipsets are fine.
Please assist!
When you power on a VM with 128GB RAM and no memory reservations ESXi creates a 128GB swap file. Most probably you don't have 128GB space available left on the datastore.
If this is the case your options are:
If memory is reserved then no swap file is needed because memory is reserved. In that case if 128GB RAM aren't available then you can't power on the VM. Which isn't actually much different from the current situation :smileygrin:
How much free space do you have on the datastore where this Ubuntu VM resides?
When you power on a VM with 128GB RAM and no memory reservations ESXi creates a 128GB swap file. Most probably you don't have 128GB space available left on the datastore.
If this is the case your options are:
If memory is reserved then no swap file is needed because memory is reserved. In that case if 128GB RAM aren't available then you can't power on the VM. Which isn't actually much different from the current situation :smileygrin:
By default, ESXi creates a swap file with the size of the VM's configured memory. Since this seems to be a stand-alone host, and there's no memory overcommitment (as far as I understand it), you may change the VM's settings and set/increase the "Memory Reservation". The swap file size will then be "assigned memory" minus "reservation", i.e. if you set the reservation to 128GB, the swap file size on the datastore will be zero.
André
I do have another hard drive on the ESXi host with about 4TBs free. Is there a way I can just mount the hard drive that is the other data store for the swap?
And if so, how?
You can change it in the advanced options of the VMs configuration, also on host and cluster level.
If you have enough RAM then a memory reservation probably is easier. If RAM is reserved it will not swap so it doesn't need a swap file.
I am a bit new to this,
Can you explain to me how this is done through ESXi?
I do have a total memory on the ESXi host of 512GB with about 450GB free.
My VM is currently installed on a data store that has only 80GB of space left.
It has a second hard disk which I have an available space of 4TBs on it. (Which is where I assume this will take place)
Under the VM settings --> Edit --> Advanced --> I see three options, default, virtual machine directory, and Datastore specified by host.
How would I create the memory reservation? Or tell this host to save it's swap file location to the other data store or (harddisk I have connected to this host)?
Which ESXi version ? Do you have a vCenter server ?
EDIT: I've got a cluster here so some settings are inherited by the cluster. If you've got a standalone ESXi 6.5 host and have to use the Host web client then you can reserve memory.