vpxd.cfg is an XML formatted file which can be modified to alter the native behavior of the VMware vCenter Server. Sparse references on the internet document the changes that can be made in this environment. Inspired by Ulli Hankeln, the purpose of this blog post is to collect and document all known, unknown, supported, and unsupported vpxd.cfg modifications in a centralized location.
If you have any to add, please provide feedback in the form of a blog comment along with a link pointing to a reference and I’ll update the post.
**Disclaimer**
As with anything found on this site and much of the internet in general, information is provided “as is” without warranty. Modify settings at your own risk. I suggest thoroughly researching the changes first and also checking with VMware Support.
The vpxd.cfg file is located on the VMware vCenter Server by default at %ALLUSERPROFILE%\Application Data\VMware\VMware VirtualCenter\vpxd.cfg
- On Windows Server 2008, this would generally be C:\ProgramData\VMware\VMware VirtualCenter\vpxd.cfg
- On Windows Server 2003, this would generally be C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\vpxd.cfg
This collection of vpxd.cfg settings has been sourced from various places. The parameters will generally apply to a version of vCenter Server ranging from 2.0 through 4.x. A given parameter can apply to several or even all versions. However, one thing I didn’t do was specify which version of vCenter Server the parameter applies to – too much work – sorry – you’ll have to experiment in your lab or DEV environment. I do think it’s safe to say that most of these parameters focus on the latest releases of vCenter Server – 2.5 and 4.0.
Remember to restart the VMware VirtualCenter Server service in the Server Manager for changes to vpxd.cfg to take effect.
Tag: blockingTimeoutSeconds
Nested In: vmomi, soapStubAdapter
What It Does: Defines the timeout value in seconds for SOAP layer blocking. Use cases for increasing: slow connections, low bandwidth, or high latency between virtual infrastructure components. Read more here and here.
Example:
<vmomi>
<soapStubAdapter>
<blockingTimeoutSeconds>10800</blockingTimeoutSeconds>
</soapStubAdapter>
</vmomi>
Tag: calls
Nested In: trace, vmomi
What It Does: Unknown. Read more here.
Example:
<trace>
<vmomi>
<calls>true</calls>
</vmomi>
</trace>
Tag: cipherList
Nested In: vmacore, ssl
What It Does: Reverts to cipher suites used in previous versions of vCenter Server (2.5u3 and earlier) for browser/SSL compatibility issues. Read more here.
Example:
<vmacore>
<ssl>
<cipherList>DEFAULT</cipherList>
</ssl>
</vmacore>
Tag: compressOnRoll
Nested In: log
What It Does: Defines whether or not vCenter Server vpxd log files are rolled up and compressed into .gz files. Read more here.
Example:
<log>
<compressOnRoll>false</compressOnRoll>
</log>
Tag: cpuFeatureMask
Nested In: guestOSDescriptor, esx-2-x-x, all-versions, all-guests
What It Does: Masks CPU features to force VMotion compatibility between hosts. VMware neither supports nor recommends modifying the VMotion constraints for CPU features. Read more here.
Example:
<guestOSDescriptor>
<esx-2-x-x>
<all-versions>
<all-guests>
<cpuFeatureMask>Elements and mask definition go in here</cpuFeatureMask>
</all-guests>
</all-versions>
</esx-2-x-x>
</guestOSDescriptor>
Tag: directory
Nested In: log
What It Does: Defines the location for the vCenter logs. Read more here.
Example:
<log>
<directory>D:\VC_Logs</directory>
</log>
Tag: dontstartconsolidation
Nested In: vcp2v
What It Does: May resolve an issue where the Consolidation button is missing in the Virtual Infrastructure Client. Read more here.
Example:
<vcp2v>
<dontstartconsolidation>true</dontstartconsolidation>
</vcp2v>
Tag: filterOverheadLimitIssues
Nested In: vpxd
What It Does: Unknown.
Example:
<vpxd>
<filterOverheadLimitIssues>true</filterOverheadLimitIssues>
</vpxd>
Tag: hostRescanFilter
Nested In: unknown
What It Does: Defines the behavior of mass ESX(i) host rescans of vmHBAs. Read more here.
Example:
<hostRescanFilter>true</hostRescanFilter>
Tag: IoMax
Nested In: vmacore, threadpool
What It Does: Unknown but my guess is it defines the maximum I/O for the vpxd.exe process (vCenter Server service). Influenced by TaskMax.
Example:
<vmacore>
<threadpool>
<IoMax>200</IoMax>
</threadpool>
</vmacore>
Tag: level
Nested In: log
What It Does: Defines the logging level for vCenter logs. Read more here.
Example:
<log>
<level>trivia</level>
</log>
Tag: logLevel
Nested In: trace, vmomi
What It Does: Enables debug logging level for vmomi? Read more here.
Example:
<trace>
<vmomi>
<logLevel>verbose</logLevel>
</vmomi>
</trace>
Tag: loglevel
Nested In: nfc
What It Does: Enables debug logging level for the NFC process. Read more here.
Example:
<nfc>
<loglevel>debug</loglevel>
</nfc>
Tag: managedIP
Nested In: unknown
What It Does: Defines the managed IP address used in vCenter Server Heartbeat. Read more here.
Example:
<managedIP>10.10.0.1</managedIP>
Tag: maxCostPerHost
Nested In: ResourceManager
What It Does: Defines the number of simultaneous VM migrations (both hot and cold) per ESX(i) host. Read more here.
Example:
<ResourceManager>
<maxCostPerHost>8</maxCostPerHost>
</ResourceManager>
Tag: maxFileNum
Nested In: log
What It Does: Defines the maximum number of log files for vCenter logs. Read more here.
Example:
<log>
<maxFileNum>50</maxFileNum>
</log>
Tag: maxFileSize
Nested In: log
What It Does: Defines the maximum log file size in Bytes and thus rollover interval for vCenter logs. Read more here.
Example:
<log>
<maxFileSize>10485760</maxFileSize>
</log>
Tag: name
Nested In: log
What It Does: Defines the log file prefix name for vCenter logs. Read more here.
Example:
<log>
<name>vpxd</name>
</log>
Tag: notRespondingTimeout
Nested In: heartbeat
What It Does: Defines the heartbeat timeout value in seconds between ESX(i) hosts and vCenter Server. Use case would be to increase the value if remote ESX(i) hosts frequently go into a not responding state in vCenter Server due to WAN bandwidth or latency issues. Read more here.
Example:
<heartbeat>
<notRespondingTimeout>60</notRespondingTimeout>
</heartbeat>
Tag: portReserveTimeout
Nested In: dvs
What It Does: Defines the timeout value in minutes for unused dvPort reservations. Lowering the value temporarily is helpful for unlocking dvPorts to remove a vDS or dvPort group. Read more here.
Example:
<dvs>
<portReserveTimeout>10</portReserveTimeout>
</dvs>
Tag: serializeadds
Nested In: vpxd, das
What It Does: Unknown but if I had to guess I’d say it defines the behavior of how the HA agent is installed on cluster hosts.
Example:
<vpxd>
<das>
<serializeadds>true</serializeadds>
</das>
</vpxd>
Tag: slotCpuMinMHz
Nested In: vpxd, das
What It Does: Defines the minimum CPU calculation of a HA cluster slot size when there are no CPU reservations. Read more here.
Example:
<vpxd>
<das>
<slotCpuMinMHz>256</slotCpuMinMHz>
</das>
</vpxd>
Tag: slotMemMinMB
Nested In: vpxd, das
What It Does: Defines the minimum memory calculation of a HA cluster slot size when there are no memory reservations. Read more here.
Example:
<vpxd>
<das>
<slotMemMinMB>0</slotMemMinMB>
</das>
</vpxd>
Tag: sspiProtocol
Nested In: unknown
What It Does: Defines the authentication mechanism used with passthrough authentication between the Virtual Infrastructure Client and vCenter Server. Read more here.
Example:
<sspiProtocol>Kerberos</sspiProtocol>
Tag: TaskMax
Nested In: vmacore, threadpool
What It Does: Defines the number of worker threads for the vpxd.exe process (vCenter Server service). Influences IoMax.
Example:
<vmacore>
<threadpool>
<TaskMax>30</TaskMax>
</threadpool>
</vmacore>
Tag: timeout
Nested In: task
What It Does: Defines the timeout value in seconds for long tasks. Read more here.
Example:
<task>
<timeout>10800</timeout>
</task>
Tag: verbose
Nested In: trace, db
What It Does: Enables database tracing. Enables database logging in the vpxd log. Read more here and here.
Example:
<trace>
<db>
<verbose>true</verbose>
</db>
</trace>
Tag: verbosity
Nested In: trace, vmomi
What It Does: Unknown. Read more here.
Example:
<trace>
<vmomi>
<verbosity>verbose</verbosity>
</vmomi>
</trace>
Tag: verboseObjectSize
Nested In: trace, vmomi
What It Does: Unknown. Read more here.
Example:
<trace>
<vmomi>
<verboseObjectSize>40</verboseObjectSize>
</vmomi>
</trace>
Tag: VMOnVirtualIntranet
Nested In: migrate, test, CompatibleNetworks
What It Does: Setting to false enables VMotion for VMs connected to an internal vSwitch. Setting to false will turn off the internal vSwitch restriction on VMotion events. Useful for servers behind a firewall virtual appliance deployed in bridged networking mode. Read more here.
Example:
<migrate>
<test>
<CompatibleNetworks>
<VMOnVirtualIntranet>false</VMOnVirtualIntranet>
</CompatibleNetworks>
</test>
</migrate>
Tag: VMOverheadGrowthLimit
Nested In: cluster
What It Does: Defines the growth rate cap in terms of MB per minute for VM memory overhead at the cluster level. Can be adjusted to resolve high CPU utilization in guest VMs introduced in ESX(i) 3.5 and vCenter 2.5. Read more here.
Example:
<cluster>
<VMOverheadGrowthLimit>5</VMOverheadGrowthLimit>
</cluster>
Slightly related, the vCenter Server process (vpxd.exe) can be launched at a command prompt on the vCenter Server (instead of starting as a service) for troubleshooting purposes. The executable is located at:
<Install Directory>\VMware\Infrastructure\VirtualCenter Server>vpxd.exe
Usage: vpxd.exe [FLAGS]
Flags:
-r Register VMware VirtualCenter Server
-u Unregister VMware VirtualCenter Server
-s Run as a standalone server rather than a Service
-c Print vmdb schema to stdout
-b Recreate database repository
-f cfg Use the specified file instead of the default vpxd.cfg
-l licenseKey Store license key in ldap and assign it to VirtualCenter
-e feature Set the feature to be in use for VirtualCenter. This option takes only one feature at a time.
-p Reset the database password
-v Print the version number to stdout
Finally! I was thinking that someone needed to do this. Thank God it was you – now I don’t have to do it! :o)
Dave
Well Duncan is too much of a pussy to leak the internal documentation on this so I was left to reverse engineer what I can. 🙂
HA! Now that he works for them, he wants to KEEP the secrets instead of SHARE them. He’s becoming a “Gladiator”.
In vSphere 4.1
Steps to limit vmotion:
1. on virtual center click on administration -> vcenter server settings -> advanced settings ->
1. In advanced settings Set
config.vpxd.ResourceManager.maxCostPerHost to -1
This will set the value to default
2 . Add new configuration parameter in key and the apprpiate value
vpxd.ResourceManager.costPerVmotionESX41 with value 4
Steps to limit vmotion:
1. on virtual center click on administration -> vcenter server settings -> advanced settings ->
1. In advanced settings Set
config.vpxd.ResourceManager.maxCostPerHost to -1
This will set the value to default
2 . Add new configuration parameter in key and the apprpiate value
vpxd.ResourceManager.costPerVmotionESX41 with value 4
Apologies I should note that this will limit vmotions to 2. The default is 8 units. This will overwrite your vpxd.conf on the VC server.
Regards,
Ross
http://www.rhinofile.com
I also had to import the company CA cert into my sms.keystore using the tomcat keytool. Otherwise my certificate chain seem to be untrusted.