VMFS3 Heap Size (MaxHeapSizeMB)

This article gives you more information on the VMFS3.MaxHeapSizeMB advanced parameter. Let’s start off with VMware KB article 1004424 describing the method to increase the VMFS3 Heap Size in case you see the following error message in /var/log/vmkernel or /var/log/messages log:

vmkernel: 8:18:59:58.640 cpu2:1410)WARNING: Heap: 1370: Heap_Align(vmfs3, 4096/4096 bytes, 4 align) failed. caller: 0x8fdbd0
vmkernel: 8:18:59:58.640 cpu2:1410)WARNING: Heap: 1266: Heap vmfs3: Maximum allowed growth (24) too small for size (8192)

Running out of VMFS3 Heap Space can occur when a large quantity of virtual disk space (.vmdk files) is open on a single ESX Host.

The default VMFS3.MaxHeapSizeMB settings are:

  • 16 MB for ESX 3.5/4.0 – allows for a maximum of 4TB of active virtual disk space on a single ESX Host.
  • 80 MB for ESX 4.1 – allows for a maximum of 20TB active virtual disk space on a single ESX Host.

The maximum value that can be set is 128MB which allows for a maximum of 32TB of active virtual disk space on a single ESX Host.

Important Note: All limits of “active virtual disk space” that are described above are applicable only for 1 MB VMFS Blocksizes. 2 MB VMFS Blocksize will double these numbers and 4 MB VMFS Blocksize will quadruple these numbers, etc.

The following example shows the maximum values when using a VMFS Blocksize of 8MB with again the default VMFS3.MaxHeapSizeMB settings:
(If you want to read more about VMFS Blocksizes I would recommend this excellent article by Didier Pironet)

  • 16 MB for ESX 3.5/4.0 – allows for a maximum of 32TB of active virtual disk space on a single ESX Host.
  • 80 MB for ESX 4.1 – allows for a maximum of 160TB active virtual disk space on a single ESX Host.

Using the maximum of 128 for the VMFS3.MaxHeapSizeMB setting allows up to 256TB of active virtual disk space on a single ESX Host.

It is important to know about these values for your consolidation ratio/design and to know what the effect is of increasing it. Nowadays physical servers become bigger and bigger, allowing you to run more and more Virtual Machines on them which increases the risk of hitting the limit of active virtual disk space on a single ESX Host.

As stated the maximum value can be set to 128MB. The Heap is part of the kernel memory so increasing its memory will increase memory consumption of the kernel which results in less memory for other consumers on the system.

%d bloggers like this: