Virtual machine crashes with error "Memory allocation failed for PFrame Dir"
search cancel

Virtual machine crashes with error "Memory allocation failed for PFrame Dir"

book

Article ID: 376362

calendar_today

Updated On:

Products

VMware vSphere ESXi 7.0

Issue/Introduction

  • The virtual machine was a backup proxy which backed up other guest VM's vmdks via HotAdd
  • The virtual machine has more than 10 virtual disks mounted
  • The Virtual Machine showed the below error messages:

VMware ESX unrecoverable error: (vcpu-#) vmk: vcpu-#:Memory allocation failed for PFrame Dir

  • In the vmware.log of the virtual machine there are messages similar to:

[YYYY-MM-DDTHH:MM:SS] Wa(03) vcpu-# - A core file is available in "/vmfs/volumes/<datastore-uuid>/<vm-name>/vmx-zdump.002"
[YYYY-MM-DDTHH:MM:SS] In(05) vcpu-# - Msg_Post: Error
[YYYY-MM-DDTHH:MM:SS] In(05) vcpu-# - [msg.log.error.unrecoverable] VMware ESX unrecoverable error: (vcpu-#)
[YYYY-MM-DDTHH:MM:SS] In(05)+ vcpu-# - vmk: vcpu-0:Memory allocation failed for PFrame Dir

  • In the vmkernel.log of the ESXi host there are messages similar to:

[YYYY-MM-DDTHH:MM:SS] cpu33:6815997)WARNING: VmAnon: vm #####: 1697: kernel data alloc exceeds reservation
[YYYY-MM-DDTHH:MM:SS] cpu33:6815997)WARNING: World: vm #####: 8534: Simultaneous panic! :vmk: vcpu-0:Memory allocation failed for PFrame Dir
[YYYY-MM-DDTHH:MM:SS] cpu33:6815997)P2MCache: 427: vm #####: GetPhysMemRange failed for PPN 0x418600 canBlock 0 count 95 status Out of memory
[YYYY-MM-DDTHH:MM:SS] cpu33:6815997)PVSCSI: 956: PROCESS: failed to pin: Out of memory

Environment

VMware vSphere ESXi 7.0.x

Cause

Memory compression is enabled by default. The issue is caused by the corrupted memory compression of PVSCSI. When there are multiple HotAdd vmdks with one PVSCSI controller, it causes a memory leak and panic/crashes the virtual machine. 

More information about memory compression, see Memory Compression

Resolution

Currently the issue is under investigation. 

As a workaround of the issue, perform either of the following steps:

  • Add more PVSCSI controllers to the virtual machine. This will require a power cycle of the Virtual Machine 
  • Add the parameter 'sched.mem.zip.enable = FALSE' to the virtual machine to disable memory compression as shown in Edit Configuration File Parameters

Additional Information