Virtual machine powers off automatically with an error "MXUserAllocSerialNumber: too many locks"
search cancel

Virtual machine powers off automatically with an error "MXUserAllocSerialNumber: too many locks"

book

Article ID: 317824

calendar_today

Updated On:

Products

VMware VMware vSphere ESXi

Issue/Introduction

Symptoms:
  • MKS error on virtual Machine console.
     
  • In the /vmfs/volumes/datastore/virtual_machine/vmware.log file, you see entries similar to:

    2017-04-06T17:23:14.698Z| vcpu-0| I125: GuestMsg: Too many channels opened.
    2017-04-06T17:23:14.699Z| vcpu-0| I125: GuestMsg: Too many channels opened.

     
  • In the vmware.log file, you see entries similar to:
vcpu-0| E105: PANIC: MXUserAllocSerialNumber: too many locks!
vcpu-0| W115: A core file is available in "/vmfs/volumes/VOLUME_UUID/VM_NAME/vmx-zdump.000"
mks| W115: Panic in progress... ungrabbing
mks| I125: MKS: Release starting (Panic)
mks| I125: MKS: Release finished (Panic)
 
 
Note: The preceding log excerpts are only examples. Date, time, and environmental variables may vary depending on your environment.


Cause

During normal VM operation, VMware Tools services (version 9.10.0 and later) create vSocket connections to exchange data with the hypervisor. When a large number of such connections are made, the hypervisor may run out of lock serial numbers and the virtual machine powers off with an error.

Resolution

This is a known issue affecting VMware Tools 9.10.0 and later running in the guests on ESXi 6.0 and later.
 
For 6.0
 
This issue is resolved in ESXi 6.0 Patch Release ESXi600-201706001, available at VMware Patch Downloads. For more information on downloading patch, see How to download patches in Customer Connect (1021623).

For 6.5
 
This issue is resolved in ESXI 6.5 Update 1, available at VMware Downloads.

To workaround this issue in ESXi 6.0 and 6.5:
 
  1. Shut down the virtual machine.
     
  2. Add the guest_rpc.rpci.usevsocket parameter to false in the virtual_machine.vmx file:
     
    1. Connect to the host running the virtual machine with an SSH session. For more information, see Using ESXi Shell in ESXi 5.x and 6.0 (2004746).
       
    2. Navigate to the /vmfs/volumes/virtual_machine_datastore/virtual_machine/virtual_machine.vmx file.
       
    3. Open the virtual_machine.vmx file using a text editor.
       
    4. Add the guest_rpc.rpci.usevsocket = "FALSE" parameter.

       
  3. Power on the virtual machine.

Note: the above workaround will:
* put VMware Tools running in limited functionality;
* cause VGAuthService process high CPU usage with VMware Tools version 12.1.x.


Additional Information

How to download patches in Customer Connect
仮想マシンが「MXUserAllocSerialNumber:ロックが多すぎる (MXUserAllocSerialNumber: too many locks)」エラーで自動的にパワーオフする
虚拟机自动关闭电源并显示错误“MXUserAllocSerialNumber: 锁定过多 (MXUserAllocSerialNumber: too many locks)”