First and foremost, it is worth mentioning, that it is definitely not recommended to change any advanced settings unless you know what you are doing and you are fully aware of all potential impacts. VMware default settings are the best for general use covering the majority of use cases, however, when you have some specific requirements you might need to do the VM tuning and change some advanced virtual machine configuration options. In this blog post, I'm trying to document advanced configuration options I've found useful in some specific design decisions.
Time synchronization
- time.synchronize.tools.startup
- Description:
- Type: Boolean
- Values:
- true / 1 (default)
- false / 0
- time.synchronize.restore
- Description:
- Type: Boolean
- Values:
- true / 1 (default)
- false / 0
- time.synchronize.shrink
- Description:
- Type: Boolean
- Values:
- true / 1 (default)
- false / 0
- time.synchronize.continue
- Description:
- Type: Boolean
- Values:
- true / 1 (default)
- false / 0
- time.synchronize.resume.disk
- Description:
- Type: Boolean
- Values:
- true / 1 (default)
- false / 0
Relevant resources:
Ethernet
- ethernetX.rxDataRingEnabled
- Description: When set to true, Receive Data Ring is enabled
- Type: Boolean
- Values: true/false, 1/0
- Relevant resources:
- ethernetX.pnicFeatures
- Description: Enable specific pNIC features for particular VM vNIC
- Type: Int
- Values:
- 4 - Enable multi-queue (NetQueue RSS) in particular VM vNIC
- ethernetX.ctxPerDev
- Description: Enable transmit traffic multi-threading for VM or vNIC
- Type: Int
- Values:
- 1 - one CPU thread per vNIC
- 2 (default) - one transmit CPU thread per VM
- 3 - multiple (2 to 8) TX threads for particular VM vNIC
- Relevant resources:
- ethernetX.udpRSS
- Description: vSphere ESXi 6.7 supports Receive Side Scaling (RSS) for UDP which provides a significant improvement in throughput. Use this feature for workloads that are sensitive to network latency and bandwidth.
- Type: Boolean
- Values:
- true / 1
- false / 0 (default)
- Relevant resources:
Isolation
With the isolation option, you can restrict file operations between the virtual machine and the host system, and between the virtual machine and other virtual machines.
VMware virtual machines can work both in a vSphere environment and on hosted virtualization platforms such as VMware Workstation and VMware Fusion. Certain virtual machine parameters do not need to be enabled when you run a virtual machine in a vSphere environment. Disable these parameters to reduce the potential for vulnerabilities.
Following advanced settings are booleans (true/false) with default value false. You can disable it by changing the value to true.
- isolation.tools.unity.push.update.disable
- isolation.tools.ghi.launchmenu.change
- isolation.tools.memSchedFakeSampleStats.disable
- isolation.tools.getCreds.disable
- isolation.tools.ghi.autologon.disable
- isolation.bios.bbs.disable
- isolation.tools.hgfsServerSet.disable
- isolation.tools.vmxDnDVersionGet.disable
- isolation.tools.diskShrink.disable
- isolation.tools.memSchedFakeSampleStats.disable
- isolation.tools.guestDnDVersionSet.disable
- isolation.tools.unityActive.disable
- isolation.tools.diskWiper.disable
Snapshots
- snapshot.maxSnapshots
- Description: Limit the number of snapshots of Virtual Machine
- Type: Int
- Value: max number of snapshots
- Relevant resources:
Remote Display
- RemoteDisplay.maxConnections
- Description: Limit the number of simultaneous connections to Virtual Machine
- Type: Int
- Value: max number of snapshots
- Relevant resources: