vmware.log, you see errors similar to:GuestRpcSendTimedOut: message to toolbox timed out. GuestRpc: app toolbox's second ping timeout; assuming app is down
C:\Windows\Temp\vmware-vmsvc-SYSTEM.log, you see entries similar to:tools service hung.
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.
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
Log in to the Windows guest VM as a local administrator.
Open Notepad (or another plain text editor) as Administrator. To do this, right-click Notepad in the Start menu and select Run as administrator.
In Notepad, select File → Open and navigate to: C:\ProgramData\VMware\VMware Tools\
Note: The
ProgramDatafolder is hidden by default. In the File Open dialog, type the full path in the filename field and press Enter to navigate there directly.
Open tools.conf. If the file does not exist, select File → New to create a new blank file. You will save it to this path in a later step.
Examine the file contents.
[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
[guestinfo] section already exists, add the two settings directly below the [guestinfo] line:disable-perf-mon=true disable-query-diskinfo=true
Save the file.
C:\ProgramData\VMware\VMware Tools\tools.conf. Set the Save as type to All Files (.) to avoid Notepad adding a .txt extension.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
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.GetDiskFreeSpaceExW. Disabling them prevents the blocking condition but also reduces the guest data visible in vCenter Server and connected monitoring solutions.