VMware Tools shows not running intermittently on Windows Server guest VMs
search cancel

VMware Tools shows not running intermittently on Windows Server guest VMs

book

Article ID: 434855

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

  • VMware Tools status shows as Not Running intermittently on a Windows guest VM.
  • The VMware Tools service (vmtoolsd.exe) has not crashed and is still running in Windows.
  • The status typically recovers on its own within a few minutes without any action.
  • Monitoring tools (such as Aria Operations) report false alarms that VMware Tools is down.
  • In the VM's vmware.log, you see errors similar to:
    GuestRpcSendTimedOut: message to toolbox timed out.
    GuestRpc: app toolbox's second ping timeout; assuming app is down
    
  • In C:\Windows\Temp\vmware-vmsvc-SYSTEM.log, you see entries similar to:
    tools service hung.
    

Additional symptoms reported:

  • "VMware Tools service dropping randomly"
  • "VMware Tools status drops to 0% for a few minutes, then returns to 100% on its own"

Environment

 

  • VMware Tools (MSI installer) on a Windows Server guest VM
  • ESXi 8.0 or later

Cause

VMware Tools includes a guest information plugin (guestInfo) that runs on a regular cycle to collect disk usage data from the guest OS and report it back to the ESXi host. To gather this data, the plugin calls the Windows API GetDiskFreeSpaceExW for each disk volume attached to the VM. Under normal conditions, this call completes quickly.

Under certain Windows guest OS conditions — such as high I/O activity, NTFS filesystem lock contention, or Windows system services holding exclusive filesystem locks — the GetDiskFreeSpaceExW call can block for an extended period (up to a minute or more). Because this call runs on the VMware Tools main service thread, the service cannot respond to GuestRpc heartbeat pings from the ESXi host while waiting for the API to return. When the heartbeat timeout threshold is reached, ESXi marks VMware Tools as unresponsive.

The VMware Tools service itself does not stop or crash. Once the blocked API call completes, the service resumes responding and the status returns to normal automatically.

Common guest OS conditions that can trigger the block include: heavy disk I/O, Windows Defender or other security software scanning activity, and Windows system services (such as the Diagnostic Policy Service) that hold NTFS filesystem locks for extended periods.

Resolution

The following workaround prevents VMware Tools from querying disk information, which stops the hang condition from occurring. Note that applying these settings means VMware Tools will no longer report guest disk usage or performance counter data to the ESXi host. Monitoring tools that depend on this data may show reduced visibility for the affected VM.

Note: The tools.conf file may not exist in your environment. If the file does not exist, create it at the path shown below. If it does exist, check whether a [guestinfo] section is already present before adding the settings.

The required path and content are:

Path: C:\ProgramData\VMware\VMware Tools\tools.conf

Settings to add:

[guestinfo]
disable-perf-mon=true
disable-query-diskinfo=true

  1. Log in to the Windows guest VM as a local administrator.

  2. Open Notepad (or another plain text editor) as Administrator. To do this, right-click Notepad in the Start menu and select Run as administrator.

  3. In Notepad, select FileOpen and navigate to: C:\ProgramData\VMware\VMware Tools\

    Note: The ProgramData folder is hidden by default. In the File Open dialog, type the full path in the filename field and press Enter to navigate there directly.

  4. Open tools.conf. If the file does not exist, select FileNew to create a new blank file. You will save it to this path in a later step.

  5. Examine the file contents.

    • If a [guestinfo] section does not already exist in the file, add the following block at the end of the file:
      [guestinfo]
      disable-perf-mon=true
      disable-query-diskinfo=true
      
    • If a [guestinfo] section already exists, add the two settings directly below the [guestinfo] line:
      disable-perf-mon=true
      disable-query-diskinfo=true
      
  6. Save the file.

    • If you opened an existing file, select FileSave.
    • If you created a new file, select FileSave As and save it to C:\ProgramData\VMware\VMware Tools\tools.conf. Set the Save as type to All Files (.) to avoid Notepad adding a .txt extension.
  7. Restart the VMware Tools service to apply the change. Open an elevated Command Prompt or PowerShell window and run:

    net stop VMTools && net start VMTools
    

Additional Information

  • disable-perf-mon=true stops the VMware Tools performance monitoring provider from collecting guest performance counter data.
  • disable-query-diskinfo=true stops the VMware Tools disk information provider from querying guest disk usage and filesystem details.
  • These two settings address the specific code paths that call GetDiskFreeSpaceExW. Disabling them prevents the blocking condition but also reduces the guest data visible in vCenter Server and connected monitoring solutions.
  • If the underlying guest OS condition (such as high I/O load or disk lock contention) is identified and resolved, these settings can be removed and the VMware Tools service restarted to restore full functionality.