Knowledge Base

The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides
 
Search the VMware Knowledge Base (KB)   View by Article ID
 

ESXi/ESX host reports VMFS heap warnings when hosting virtual machines that collectively use 4 TB or 20 TB of virtual disk storage (1004424)

Symptoms

  • An ESXi/ESX 3.5/4.0 host has more than 4 terabytes (TB) of virtual disks (.vmdk files) open.
  • After virtual machines are failed over by vSphere HA from one host to another due to a host failover, the virtual machines fail to power on with the error:

    vSphere HA unsuccessfully failed over this virtual machine. vSphere HA will retry if the maximum number of attempts has not been exceeded. Reason: Cannot allocate memory.

  • You see warnings in the /var/log/messages or /var/log/vmkernel.log files similar to:

    vmkernel: cpu2:1410)WARNING: Heap: 1370: Heap_Align(vmfs3, 4096/4096 bytes, 4 align) failed. caller: 0x8fdbd0
    vmkernel: cpu2:1410)WARNING: Heap: 1266: Heap vmfs3: Maximum allowed growth (24) too small for size (8192)
    cpu4:1959755)WARNING:Heap: 2525: Heap vmfs3 already at its maximum size. Cannot expand.
    cpu4:1959755)WARNING: Heap: 2900: Heap_Align(vmfs3, 2099200/2099200 bytes, 8 align) failed. caller: 0x418009533c50
    cpu7:5134)Config: 346: "SIOControlFlag2" = 0, Old Value: 1, (Status: 0x0)


  • Adding a VMDK to a virtual machine running on an ESXi/ESX host where VMFS-3 heap is maxed out fails.
  • When attempting to migrate a virtual machine to another host, you may see the error:

    Failed to initialize migration at source

  • When you try to manually power on a migrated virtual machine, you see the error:

    The VM failed to resume on the destination during early power on.
    Reason: 0 (Cannot allocate memory).
    Cannot open the disk 'vmdk_location' or one of the snapshot disks it depends on.


  • A virtual machine fails to power on and you see this error in the vSphere Client:

    An unexpected error was received from the ESX host while powering on VM vm-xxx. Reason: (Cannot allocate memory)

  • A similar error may appear if you try to migrate or Storage vMotion a virtual machine to a destination ESXi/ESX host on which VMFS-3 heap is maxed out.
  • Cloning a virtual machine using the vmkfstools -i command fails and you see the error:

    Clone: 43% done. Failed to clone disk: Cannot allocate memory (786441)

  • Cold storage migration fails with the error:

    Could not complete network copy for file

  • In the /var/log/vmfs/volumes/DatastoreName/VirtualMachineName/vmware.log file, you see messages similar to:

    vmx| FileIOErrno2Result: Unexpected errno=12, Cannot allocate memory
    vmx| AIOGNRC: Failed to open '/vmfs/volumes/xxxx-flat.vmdk' : Cannot allocate memory (c00000002) (0x2013).
    vmx| DISKLIB-VMFS : "/vmfs/volumes/xxxx-flat.vmdk" : failed to open (Cannot allocate memory): AIOMgr_Open failed. Type 3
    vmx| DISKLIB-LINK : "/vmfs/volumes/xxxx.vmdk" : failed to open (Cannot allocate memory).
    vmx| DISKLIB-CHAIN : "/vmfs/volumes/xxxx.vmdk" : failed to open (Cannot allocate memory).
    vmx| DISKLIB-LIB : Failed to open '/vmfs/volumes/xxxx.vmdk' with flags 0xa Cannot allocate memory (786441).
    vmx| DISK: Cannot open disk "/vmfs/volumes/xxxx.vmdk": Cannot allocate memory (786441).
    vmx| Msg_Post: Error
    vmx| [msg.disk.noBackEnd] Cannot open the disk '/vmfs/volumes/xxxx.vmdk' or one of the snapshot disks it depends on.
    vmx| [msg.disk.configureDiskError] Reason: Cannot allocate memory.

  • You may see virtual machines run more slowly than usual or become unresponsive.

  • The vmkernel stops logging in the appropriate /var/log file of the ESX/ESXi host.

Purpose

This article addresses the issue of running out of heap space on an ESXi/ESX host when a large quantity of virtual disk space is active.

Resolution

Default VMFS heap size

  • In ESXi and ESX 3.5/4.0, the default heap size is set to 16 MB, allowing a maximum of 4 TB of open virtual disk capacity on a single ESXi/ESX host. 
  • In ESXi/ESX 4.1 and early versions of ESXi 5.x, the default heap size is 80 MB, which allows for 8 TB of open virtual disk capacity on a single ESXi/ESX host.
  • In ESXi 5.0 Patch 5, the default heap size was increased to 256 MB with a dynamic maximum of 640 MB, which allows for 60 TB of open virtual disk capacity on a single ESXi/ESX host.

    Note: ESXi 5.5 includes a much improved heap eviction process so that there is no need for a larger heap size that consumes memory. vSphere 5.5 supports a maximum heap size of 256 MB and enables hosts to access all address space of a 64 TB VMFS datastore.

    For more information, see What's New in VMware vSphere 5.5 Platform.

Maximum VMFS heap size

  • In ESXi/ESX 4.x and earlier releases, the maximum heap size is 128 MB. This allows a maximum of 32 TB of open storage per ESXi/ESX host.
  • In earlier versions of ESXi 5.x, the maximum heap size is 256 MB. Allowing a maximum of 25 TB of open storage per ESXi host.
  • In ESXi 5.0 Patch 5 and ESXi 5.1 Update 1 , the maximum heap size increased to 640 MB. 

    The net effect of this change is that the ESXi/ESX kernel requires a small amount of additional memory (such as the 256 MB we used to get a maximum of 25 TB in the example above) for the larger heap, but it will allow virtual machines with more than 4 TB (ESXi/ESX 4.x) or 8 TB (ESXi 5.0) of virtual disk to be addressed.

To adjust the maximum values of VMFS heap:
  1. Log into vCenter Server or the ESXi/ESX host using the vSphere Client or VMware Infrastructure (VI) Client. If connecting to vCenter Server, select the ESXi/ESX host from the inventory.
  2. Click the Configuration tab.
  3. Click Advanced Settings.
  4. Click VMFS3.
  5. Update the field in VMFS3.MaxHeapSizeMB.
  6. Reboot the ESXi/ESX host for the changes to take affect.

Minimum VMFS Heap Size

ESXi 5.0 Patch Patch 5 (1024429) and ESXi 5.1 Update 1 (1065491) introduce another option to reserve up to 256 MB of VMFS heap up front for the boot process. This is done by modifying the VMFS3.MinHeapSizeMB option.

To adjust the minimum values of VMFS heap:
  1. Log into vCenter Server or the ESXi/ESX host using the vSphere Client or VMware Infrastructure (VI) Client. If connecting to vCenter Server, select the ESXi/ESX host from the inventory.
  2. Click the Configuration tab.
  3. Click Advanced Settings.
  4. Select VMFS3.
  5. Update the field in VMFS3.MinHeapSizeMB.
  6. Reboot the ESXi/ESX host for the changes to take affect.

Command Line Usage

The esxcfg-advcfg command can be used to set/get the maximum heap size for all VMFS file systems.

To check the exiting value run the command:

esxcfg-advcfg -g /VMFS3/MaxHeapSizeMB

Sample Output:

Value of MaxHeapSizeMB is 256

To change the heap size run the command:

 esxcfg-advcfg -s <heap_value> /VMFS3/MaxHeapSizeMB
 
 
For example:

esxcfg-advcfg -s 640 /VMFS3/MaxHeapSizeMB

Note: The advanced configuration parameter, /VMFS3/MaxHeapSizeMB, is used by both VMFS3 and VMFS5 filesystems.
 

Default, Min, and Max Table

 This table outlines the default, minimum and maximum configurable heap size and open VMDK storage for the various builds of ESXi/ESX:

Version/build Default heap amount Default allowed open VMDK storage per host Minimum heap amount Maximum heap amount Maximum heap value Maximum open VMDK storage per host
ESXi/ESX 3.5/4.0 16 MB 4 TB N/A N/A N/A N/A
ESXi/ESX 4.1 80 MB 8 TB N/A 128 MB 128 32 TB
ESXi 5.0 Update 2 (914586) and earlier 80 MB 8 TB N/A 256 MB 255 25 TB
ESXi 5.0 Patch 5 (1024429) and later 256 MB 60 TB 256 MB 640 MB 255 60 TB
ESXi 5.1 Patch 1 (914609) and earlier 80 MB 8 TB N/A 256 MB 255 25 TB
ESXi 5.1 Update 1 (1065491) and later 256 MB 60 TB 256 MB 640 MB 255 60 TB
 
Notes
  • Open VMDK storage refers to any open virtual disks, including thin disks.
  • Although VMFS3.MinHeapSizeMB can only be set to a maximum value of 255 (256MB), the heap grows to its maximum size (640 MB), as required. 
  • Although the examples here reference VMFS-3, this issue can also affect VMFS-5 datastores. The variables VMFS3.MaxHeapSizeMB and VMFS3.MinHeapSizeMB also apply to VMFS-5 volumes.
  • For more information, see ESXi 5.1 U1 Release Notes.


Impact/Risks

This issue applies only to VMFS volumes and does not impact RDMs (Raw Device Mapping) or VMDK files on NFS datastores.

Additional Information

To be alerted when this article is updated, click Subscribe to Document in the Actions box.

See Also

This Article Replaces

2020208

Update History

11/28/2011 - Updated the Additional Information section 03/23/2012 - Added additional symptoms 07/26/2012 - Added cloning virtual machine symptom 08/28/2012 - Corrected heap size for ESX 4.1 and ESXi 5.x 08/29/2012 - Added symptoms when using vSphere HA 09/27/2012 - Added that this issue applies only to VMFS volumes and not to RDMs 10/25/2012 - Removed lines from symptoms that did not apply 04/19/2013 - Added additional symptom

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 53 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.
What can we do to improve this information? (4000 or fewer characters)
  • 53 Ratings
Actions
KB: