在使用vmtool时,系统的日志当中没隔一秒机会出现[ warning] [vmusr:vmusr] Error in the RPC receive loop: RpcIn: Unable to send.的错误。这个问题发生在VMware工具守护进程(vmtoolsd)处理两个多终端会话。当用户连接到Windows虚拟机,每个终端会话应该有一个vmtoolsd运行;然而,vmtoolsd仅限于只有两个会话同时运行。
vmware官网给出的详细解释及解决办法:
Symptoms
After upgrading a Terminal Server or Terminal Server-based Citrix XenApp virtual machine to VMware Tools 5.x, you experience these symptoms:
- In the Windows Application Event log, you see this error reported multiple times in quick succession (log spew):
Error in the RPC receive loop: RpcIn: Unable to send.
- On a Linux guest OS, you see log spew of:
vmusr[2116]: [warning] [vmusr] Error in the RPC receive loop: RpcIn: Unable to send.
or
[warning] [vmsvc:guestinfo] Conversion to UTF-8 failed
[warning] [vmsvc:guestinfo] Failed to get vmstats
- In the
vmware.log
file located at, /vmfs/volumes/virutal_machine_datastore/virtual_machine_folder/, for the virtual machine. You see this log spew:
GuestRpc: Channel X, conflict: guest application toolbox-dnd tried to register, but it is still registered on channel Y
GuestRpc: Channel X reinitialized.
- User instances of
vmtoolsd
crash with this error:
Access violation (0xC0000005)
- You cannot map network drives.
- You are experiencing disconnected terminal sessions.
Cause
This issue occurs when the VMware Tools daemon (
vmtoolsd) handles more than two Terminal Sessions. When a user connects to a Windows virtual machine, each terminal session should have one
vmtoolsd running; however,
vmtoolsd is limited to only two sessions running simultaneously.
Thus the Windows Application Event log fills up with warning messages similar to this until the total connection count is >2 per session:
[vmusr:vmusr] Error in the RPC receive loop: RpcIn: Unable to send.
Thus the Windows Application Event log fills up with warning messages similar to this until the total connection count is >2 per session:
[vmusr:vmusr] Error in the RPC receive loop: RpcIn: Unable to send.
Resolution
To work around this issue, disable VMware Tools logging to the Event Log and general virtual machine logging to the
vmware.log file for the virtual machine.
To disable VMware Tools application event logging:
To disable general virtual machine logging:
To disable VMware Tools application event logging:
- Open the tools.conf file using a text editor. The tools.conf file is located at:
- Windows XP and Windows Server 2000/2003:
C:\Documents and Settings\All Users\Application Data\VMware\VMware Tools\
- Windows Vista, Windows 7, and Windows Server 2008:
C:\ProgramData\VMware\VMware Tools\
- Linux:
/etc/vmware-tools/tools.conf
Note: If the tools.conf file is not present, create the file manually using a plain text editor.
- Windows XP and Windows Server 2000/2003:
- Add this section to the tools.conf file:
[logging]
vmusr.level = error
vmsvc.level = error
- Save and close the file.
- Restart the VMTools service (Administrative Tools > Services).
Note: If there are users logged in to more than one session, restarting the VMTools service may not be sufficient. You may have to kill the vmtoolsd.exe process for all instances.
To disable general virtual machine logging:
- Click the virtual machine in the Inventory.
- On the Summary tab for that virtual machine, click Edit Settings.
- In the virtual machine Properties dialog box, click the Options tab.
- Under Advanced, click General and deselect Enable logging.
- Click OK to save the change.
- To make the change take effect, power off the virtual machine and power it back on again.
- If the issue continues, try uninstalling and reinstalling VMware Tools.
Note: If you do not want to power off your virtual machine to disable logging, you can also use vMotion to migrate the virtual machine after changing this setting.