ESXi Updated Nov 13, 2026

ESXi Advanced and Kernel Settings in ESXi 8.x: What 25 Broadcom KBs Change and Why

17 min read
ESXi advanced and kernel settings in ESXi 8.x: what 25 Broadcom KBs change and why, cover with Numa.MonMigEnable, enablePCIEHotplug and HBR.UnmapDeltaSyncQueueSize values

Short answer: this is the ESXi 7.x and 8.x companion to my VCF 9 list of KB-driven ESX settings. I went through the Broadcom KB articles for ESXi 7.0 and 8.0 (and vSAN 7 and 8) that tell you to change an advanced or kernel setting and that the VCF 9 post does not already cover. There are 25 of them. They fall into six groups: workarounds for a defect (AMD Zen NUMA migration, NVIDIA passthrough, memory tiering, two vSphere Replication bugs), tuning under load (VMXNET3 receive queues, NetApp NFS queue depth, the vsanmgmtd memory cap), vSAN switches you set temporarily or find left behind, lifecycle and host configuration leftovers, logging, and two settings that do not fix what they look like they should. Each one has the default from the ESXi 8.0 U3g data, the KB value, the reason, the command and a link to the ESXi Advanced and Kernel Settings Explorer.

If your hosts run VCF 9, read the VCF 9 post first; several settings there (vMotion stream helpers, vSAN ESA UNMAP, Security.PasswordMaxDays) also matter on 8.0 U3. For lab-only tweaks, see William Lam’s ESXi advanced and kernel settings.

Table of Contents

How I found them

I searched the Broadcom knowledge base for articles that apply to ESXi 7.x, ESXi 8.x, vSAN 7.x or vSAN 8.x and that name an ESX advanced or kernel setting or run esxcli system settings advanced|kernel, esxcfg-advcfg or vsish. I checked every setting against the ESXi 8.0 U3g data in the explorer, left out the KBs already in the VCF 9 post, dropped the ones that only mention a setting in passing, confirmed that all 25 still open on the public portal and read them in full.

Five of the settings are hidden: HBR.UnmapDeltaSyncQueueSize, HBR.ChecksumRegionMaxReadAhead, VSAN.VsanMgmtdMaxMemoryInMB, VSAN.DomCompResyncThrottle and UserVars.ImageCachedSystem are not in the 8.0 U3g list the vSphere API returns. I added them to the explorer as hidden options with the KB as the source, next to the vSAN hidden options from the VCF 9 post.

All settings at a glance

Click a setting name to open it in the ESXi Advanced and Kernel Settings Explorer at ESXi 8.0 U3g, with its description, default, range and history across releases. The Change column shows the value you start from and the value the KB asks for.

Setting (explorer)ChangeWhyKB
Numa.MonMigEnable1 → 0AMD Zen VMs crash with a double fault detailsKB 396667
enablePCIEHotplug
kernel
TRUE → FALSENVIDIA GPU passthrough VM fails to power on detailsKB 384765
VMkernel.Boot.memoryTieringTRUE → FALSEPVSCSI hot-add fails with memory tiering on 8.0 U3 detailsKB 440292
HBR.UnmapDeltaSyncQueueSize
hidden option
→ 0PSOD #PF Exception 14 in hbr_filter detailsKB 460948
HBR.ChecksumRegionMaxReadAhead
hidden option
→ 0VM hangs during replication full sync detailsKB 447828
Net.Vmxnet3RxPollBound
Net.Vmxnet3RxQueueBound
256 → 512 / 1024VMXNET3 packet loss in bursts detailsKB 427211
NFS.MaxQueueDepth
NFS41.MaxQueueDepth
Net.TcpipHeapSize
unlimited → 64, heap 8 → 32APD and NetPort lock failures with NetApp NFS detailsKB 439931
VSAN.VsanMgmtdMaxMemoryInMB
hidden option
204 → 270vsanmgmtd MemoryError in high-resolution stats detailsKB 460027
VSAN.ClomForceProvisionPlacements0 → 1, then backsnapshots fail after a controller failure detailsKB 398995
VSAN.DomCompResyncThrottle
hidden option
→ 0Resync Operations Throttling alarm detailsKB 326963
VSAN.DOMPauseAllCCPs
hidden option
1 → 0maintenance mode stops at 87% detailsKB 403613
VSAN.IgnoreClusterMemberListUpdates
hidden option
0 → 1 → 0set during cluster rebuilds, reset for encryption detailsKB 452604
KB 320790
KB 447409
VSAN.GuestUnmap
hidden option
1 (OSA)Windows TRIM does not free vSAN space detailsKB 461102
UserVars.ImageCachedSystem
hidden option
stateless → removedunsupportedPXEHost after stateless to stateful detailsKB 460241
ScratchConfig.ConfiguredScratchLocationNFS → local VMFSLifecycle Manager scan hangs at 55% detailsKB 460149
execInstalledOnly
kernel
TRUE → FALSE (7.0)baseline upgrade fails with execInstalledOnly detailsKB 318467
DCUI.Accessusers must existhost profile fails at 22% detailsKB 306411
Config.HostAgent.log.levelinfo → verbose, then backmore hostd detail for a case detailsKB 403966
KB 316627
Syslog.global.logHost
Syslog.global.logDir
set a targetremote syslog and persistent logs detailsKB 318939
KB 451275
Net.LinkFlappingThresholdkeep 60NIC taken down by link flapping detailsKB 324499
Net.TcpipAutoScaleRcvBufSizedoes not helpslow NFC/NBDSSL backups on port 902 detailsKB 461601

“Hidden option” means the option exists on the host but the vSphere API does not list it, so the vSphere Client does not show it. Read and set those with esxcfg-advcfg or esxcli system settings advanced list/set -o on the host; the explorer shows them with a hidden badge and the KB they come from.

1. Workarounds for a defect: set it, then remove it after the fix

Each of these KBs describes a bug and gives a setting that avoids it until a patch ships. Note the KB number on the host or cluster, so the setting gets removed after the fixed build is installed.

Numa.MonMigEnable = 0 on AMD Zen hosts (KB 396667)

Windows or Linux VMs on AMD Zen hosts can crash with a double fault because of a rare race condition while the hypervisor migrates a VM’s internal data between NUMA nodes. It affects ESXi 7.0 U2 and later, including 8.0 U3; ESX 9.1 is not affected, and an 8.0 U3 fix is planned. No reboot is needed. Broadcom quotes a possible performance impact of up to 5%.

esxcli system settings advanced set -o /Numa/MonMigEnable -i 0
esxcli system settings advanced list -o /Numa/MonMigEnable

enablePCIEHotplug = FALSE for NVIDIA GPU passthrough (KB 384765)

A VM with an NVIDIA Tesla GPU in passthrough fails to power on with Module DevicePowerOn power on failed: the GPU reset at power-on raises PCIe hot-plug interrupts and the device is hot-removed. The workaround has two parts, the kernel setting and the reset method in /etc/vmware/passthru.map, followed by a host reboot. With the setting at FALSE, ESXi no longer enables hot-plug at boot even on hardware that supports it.

esxcli system settings kernel set -s enablePCIEHotplug -v FALSE
cp /etc/vmware/passthru.map /etc/vmware/passthru.map.bak
# in /etc/vmware/passthru.map change the NVIDIA line
#   10de ffff bridge false   ->   10de ffff default false
# reboot, then check
esxcli system settings kernel list -o enablePCIEHotplug

VMkernel.Boot.memoryTiering = FALSE when PVSCSI hot-add fails (KB 440292)

On ESXi 8.0 U3 with Software Memory Tiering, hot-adding a PVSCSI controller fails with vim.fault.GenericVmConfigFault. The hot-add triggers Fast Suspend and Resume, which memory tiering does not support in vSphere 8.x; vSphere 9.0 adds that support. You can turn tiering off for one VM (powered off, sched.mem.enableTiering = "FALSE") or for the whole host (maintenance mode, kernel setting, reboot).

# per host (maintenance mode, reboot required)
esxcli system settings kernel set -s memoryTiering -v FALSE
esxcli system settings kernel list -o memoryTiering

HBR.UnmapDeltaSyncQueueSize = 0 against the hbr_filter PSOD (KB 460948)

Hosts running replicated VMs can PSOD with #PF Exception 14 in the hbr_filter module: an UNMAP request races with the completion of a Lightweight Delta sync and dereferences a NULL pointer. ESXi 8.0.3k does not fix it. The workaround stops the queuing of UNMAP requests on the host.

esxcli system settings advanced set -o /HBR/UnmapDeltaSyncQueueSize -i 0
esxcli system settings advanced list -o /HBR/UnmapDeltaSyncQueueSize

HBR.ChecksumRegionMaxReadAhead = 0 against replication hangs (KB 447828)

While vSphere Replication runs a full sync, VMs can hang during snapshot removal, power-off or restart, and replication reports No connection to VR Server: Disk size mismatch. A race between checksum throttling and full-sync cancellation deadlocks hbr_filter. The KB lists vSphere Replication 9.0 to 9.0.2.3 and VMware Live Recovery 9.0.4 to 9.0.5.1; the fix is planned for Protection and Recovery 9.1.2. Set it on every source and target host; no restart is needed.

esxcli system settings advanced set -o /HBR/ChecksumRegionMaxReadAhead -i 0
esxcli system settings advanced list -o /HBR/ChecksumRegionMaxReadAhead

2. Tuning under load: the default is too small for this workload

Net.Vmxnet3RxPollBound and Vmxnet3RxQueueBound (KB 427211)

VMs with VMXNET3 drop packets during traffic bursts even with the guest ring buffers at maximum, because the host-side receive queue (default 256) overflows. On ESXi 7.x one option controls both the batch and the queue; on 8.0 they are separate, and the KB recommends a queue twice the poll size. The vNIC only picks up the new values after a VM power cycle (shut down the guest, then power on).

esxcfg-advcfg --get /Net/Vmxnet3RxPollBound
esxcfg-advcfg --get /Net/Vmxnet3RxQueueBound

# ESXi 7.x
esxcfg-advcfg --set 512 /Net/Vmxnet3RxPollBound

# ESXi 8.0 and later
esxcfg-advcfg --set 1024 /Net/Vmxnet3RxQueueBound
esxcfg-advcfg --set 512 /Net/Vmxnet3RxPollBound

NFS.MaxQueueDepth = 64 and a larger TCP/IP heap for NetApp NFS (KB 439931)

On ESXi 8.0 with NetApp NFS (v3 or 4.1), a high queue depth can saturate the storage controller. The controller answers with TCP Zero Window, and the host logs NetPort lock and memory admission failures followed by APD events of 30 to 60 seconds. The KB caps the queue depth at 64 for both protocols and raises the TCP/IP heap; Net.TcpipHeapMax is already 1024 on 8.0 U3g, so only Net.TcpipHeapSize really changes (8 to 32). The reboot is mandatory.

esxcfg-advcfg -s 64 /NFS/MaxQueueDepth
esxcfg-advcfg -s 64 /NFS41/MaxQueueDepth
esxcfg-advcfg -s 32 /Net/TcpipHeapSize
esxcfg-advcfg -s 1024 /Net/TcpipHeapMax
# reboot the host

VSAN.VsanMgmtdMaxMemoryInMB = 270 (KB 460027)

With the vSAN Performance Service in High Resolution Mode and a large stats object, vsanmgmtd can exceed its memory cap (typically 204 MB) during rollups and crash with a MemoryError; vmkernel.log shows admission failures. Raise the cap on every host of the cluster and restart the service. The value survives reboots.

esxcfg-advcfg -g /VSAN/VsanMgmtdMaxMemoryInMB
esxcfg-advcfg -s 270 /VSAN/VsanMgmtdMaxMemoryInMB
/etc/init.d/vsanmgmtd restart

3. vSAN switches: set them briefly, or find them left behind

VSAN.ClomForceProvisionPlacements = 1, temporarily (KB 398995)

When a storage controller fails and a host has no usable devices left, the default policy needs three fault domains but finds two, and snapshots fail with Out of resources. Setting this option to 1 on all hosts lets vSAN place the objects anyway, which is risky: set it back to 0 as soon as the snapshot or backup is done, and get the controller repaired.

esxcfg-advcfg -s 1 /VSAN/ClomForceProvisionPlacements
# take the snapshot / run the backup, then
esxcfg-advcfg -s 0 /VSAN/ClomForceProvisionPlacements

VSAN.DomCompResyncThrottle = 0 (KB 326963)

The Resync Operations Throttling alarm means somebody set a manual resync bandwidth limit, often below 20 Mbps. Resyncs crawl, VM latency rises and snapshot deletions take hours, and the value can flip back and forth because vCenter tries to reset it. Turn throttling off at cluster level, where it persists, and on the host if it keeps coming back.

# cluster level (PowerCLI)
Get-Cluster -Name "Cluster01" | Get-VsanClusterConfiguration |
  Set-VsanClusterConfiguration -ResyncThrottlingMbps 0

# host level
esxcfg-advcfg -s 0 /VSAN/DomCompResyncThrottle
esxcli vsan resync throttle set --level=0

VSAN.DOMPauseAllCCPs back to 0 when maintenance mode stops at 87% (KB 403613)

The same option as in the VCF 9 post, with a different symptom on vSAN 8: entering maintenance mode fails at 87% with an internal vSAN error and some objects are inaccessible, because a host still has component I/O paused. Check every host, not just the one you are evacuating.

esxcfg-advcfg -g /VSAN/DOMPauseAllCCPs
esxcfg-advcfg -s 0 /VSAN/DOMPauseAllCCPs

VSAN.IgnoreClusterMemberListUpdates: 1 during a rebuild, 0 afterwards (KB 452604, KB 320790, KB 447409)

Two KBs set this option to 1 on purpose: recreating a vSAN cluster object when vCenter treats an ESA cluster as OSA (KB 452604), and rebuilding the FCD catalog for a CNS volume (KB 320790). With 1, vCenter cannot push a member list that removes hosts while you work. KB 447409 (encryption consistency warning) checks the opposite: it must be 0 before you remediate. The risk is the step in between: if it stays at 1, the next host you add shows as partitioned.

# before the rebuild, on all hosts
esxcfg-advcfg -s 1 /VSAN/IgnoreClusterMemberListUpdates
# after it, on all hosts
esxcfg-advcfg -s 0 /VSAN/IgnoreClusterMemberListUpdates
esxcfg-advcfg -g /VSAN/IgnoreClusterMemberListUpdates

VSAN.GuestUnmap and the TRIM checklist (KB 461102)

Deleting files in a Windows VM does not shrink vSAN usage until the whole chain works: Guest TRIM/UNMAP enabled on the cluster, VM hardware 11 or later, a supported SCSI controller, a storage policy that allows it and a full power cycle of the VM. The KB checks the host side with the hidden VSAN.GuestUnmap option; on vSAN ESA guest UNMAP is on by default. Do not run a large retrim on many VMs at once.

esxcli system settings advanced list -o /VSAN/GuestUnmap
# in Windows after the power cycle
Optimize-Volume -DriveLetter C -ReTrim -Verbose

4. Lifecycle and host configuration leftovers

UserVars.ImageCachedSystem after leaving Auto Deploy (KB 460241)

Hosts moved from Auto Deploy stateless caching to a stateful install keep ImageCachedSystem = "stateless", so vCenter compliance scans reject them with an unsupportedPXEHost fault. Remove the option (recommended) or set it to stateful, then rerun the scan.

esxcli system settings advanced remove -o ImageCachedSystem
esxcli system settings advanced list -o /UserVars/ImageCachedSystem
# expected: Unable to find option ImageCachedSystem

ScratchConfig.ConfiguredScratchLocation on local storage (KB 460149)

vSphere Lifecycle Manager compliance scans hang at 55% when the scratch location is on an NFS share with intermittent connectivity, locks or latency; lifecycle.log shows sqlite disk I/O error. Point scratch to an existing folder on a local VMFS datastore and reboot the host in maintenance mode.

mkdir /vmfs/volumes/local-ds01/.locker-esx01
vim-cmd hostsvc/advopt/update ScratchConfig.ConfiguredScratchLocation string /vmfs/volumes/local-ds01/.locker-esx01
# reboot in maintenance mode, then
vim-cmd hostsvc/advopt/view ScratchConfig.CurrentScratchLocation

execInstalledOnly = FALSE for baseline upgrades on 7.0 (KB 318467)

The opposite of the VCF 9 advice: with execInstalledOnly enforced, baseline-based (VUM) compliance and remediation fail on ESXi 7.0 because the upgrade agent is blocked. Image-based cluster management is not affected, so moving to images is the better fix. The KB workaround turns enforcement off, which needs an evacuated host and a reboot. Turn it back on after the upgrade.

esxcli system settings encryption set --require-exec-installed-only=False
esxcli system settings kernel set -s execInstalledOnly -v FALSE
# evacuate the host, reboot, run the upgrade

DCUI.Access users must exist on the target host (KB 306411)

A host profile fails at 22% with Error setting advanced options on the host when the reference host lists custom users in DCUI.Access (for example admin) that do not exist on the target; hostd logs vim.fault.UserNotFound. Create the missing users on the target host (Host Client, Manage > Security and Users, with shell access), then apply the profile again.

# on the reference host: which users does the profile carry?
vim-cmd hostsvc/advopt/view DCUI.Access
# on the target host: which local users exist?
esxcli system account list

5. Logging: raise it for a case, then put it back

Config.HostAgent.log.level and the hostd log rotation (KB 403966, KB 316627)

For a support case you may need hostd at verbose or trivia. Since 7.0 U2 the value lives in ConfigStore, so either change Config.HostAgent.log.level in the vSphere Client or edit hostd.json with configstorecli, then restart hostd. KB 316627 also covers the size and number of rotated files (Syslog.loggers.hostd.size, Syslog.loggers.hostd.rotate, where 0 uses the global syslog default). Broadcom warns that verbose and trivia levels cost performance: go back to info when the case is closed.

configstorecli config current get -c esx -g services -k hostd -outfile hostd.json
# edit "level" in the "log" section, then
configstorecli config current set -c esx -g services -k hostd -infile hostd.json
/etc/init.d/hostd restart

Syslog.global.logHost and logDir (KB 318939, KB 451275)

KB 318939 is the reference for remote and persistent syslog: create the logDir target first, set Syslog.global.logDir and Syslog.global.logHost, reload, and open the syslog firewall ruleset for standard ports; from 8.0 U2b non-standard ports get dynamic firewall rules automatically. KB 451275 is the trap on old hosts: VCF Operations 9.1 appends ?formatter=RFC_5424&framing=octet_counting to the URI, and ESXi 7.x reads that as part of the port, so the update fails with Invalid port. Turn off the VCF Operations log collection for those hosts.

esxcli system syslog config set --logdir=/vmfs/volumes/ds01/logs --logdir-unique=true
esxcli system syslog config set --loghost=udp://syslog.example.com:514
esxcli system syslog reload
esxcli network firewall ruleset set -r syslog -e true
esxcli system syslog config get

6. Settings that do not fix what they look like they should

Net.LinkFlappingThreshold: fix the link, not the threshold (KB 324499)

When a physical NIC flaps more than Net.LinkFlappingThreshold times a minute (default 60), ESXi takes it down as Down by linkflapping, which can cut host connectivity and push guest file systems read-only. The KB does not tell you to raise the threshold: the cause is a NIC fault, a driver reset such as tx Hang, cabling or the switch port. Fix that, then bring the NIC up again.

esxcli network nic list
grep -i "linkflapping\|link down" /var/log/vmkernel.log
esxcli network nic up -n vmnic2

Net.TcpipAutoScaleRcvBufSize does not speed up NFC on port 902 (KB 461601)

Backups and restores over NFC/NBDSSL on TCP port 902 stay slow on ESXi 8.0 U3 even with the TCP autoscale settings at maximum (Net.TcpipAutoScaleRcvBufSize default 16 MB). NFC does not use receive buffer autoscaling: its socket buffer is fixed at about 654 KB, sized for 1 Gbps. There is no workaround in the KB; NFC bandwidth parameters and socket buffer autotuning arrive in 9.1.0. Do not spend time tuning the TCP/IP stack for this.

Audit your hosts

The visible settings in one PowerCLI call:

$keys = 'Numa.MonMigEnable','Net.Vmxnet3RxPollBound','Net.Vmxnet3RxQueueBound','NFS.MaxQueueDepth',
        'NFS41.MaxQueueDepth','Net.TcpipHeapSize','VSAN.ClomForceProvisionPlacements',
        'ScratchConfig.ConfiguredScratchLocation','Config.HostAgent.log.level','Net.LinkFlappingThreshold'
Get-VMHost | Get-AdvancedSetting -Name $keys |
  Select-Object @{n='Host';e={$_.Entity.Name}}, Name, Value |
  Sort-Object Name, Host | Format-Table -AutoSize

The hidden and kernel ones on each host over SSH:

for o in /HBR/UnmapDeltaSyncQueueSize /HBR/ChecksumRegionMaxReadAhead /VSAN/VsanMgmtdMaxMemoryInMB \
         /VSAN/DomCompResyncThrottle /VSAN/DOMPauseAllCCPs /VSAN/IgnoreClusterMemberListUpdates; do
  esxcfg-advcfg -g $o
done
esxcli system settings kernel list | grep -E "enablePCIEHotplug|memoryTiering|execInstalledOnly"
esxcli system settings advanced list -o /UserVars/ImageCachedSystem

FAQ

Which ESXi 8 advanced settings do Broadcom KBs change?

Among others: Numa.MonMigEnable=0 on AMD Zen hosts (KB 396667), enablePCIEHotplug=FALSE for NVIDIA passthrough (KB 384765), Net.Vmxnet3RxPollBound and Vmxnet3RxQueueBound for VMXNET3 packet loss (KB 427211), NFS.MaxQueueDepth=64 for NetApp NFS (KB 439931), HBR.UnmapDeltaSyncQueueSize=0 against the hbr_filter PSOD (KB 460948) and VSAN.VsanMgmtdMaxMemoryInMB=270 (KB 460027).

Do I need to reboot after changing an ESXi advanced setting?

Most advanced settings apply at once (Numa.MonMigEnable, the HBR options, the vSAN options). Kernel settings such as enablePCIEHotplug, memoryTiering and execInstalledOnly need a reboot, KB 439931 asks for a reboot after the NFS and heap changes, and the VMXNET3 queue sizes apply after a VM power cycle.

Why do I not see HBR.UnmapDeltaSyncQueueSize in Advanced System Settings?

It is a hidden option: the vSphere API does not list it on ESXi 8.0 U3g, so the vSphere Client does not show it. Read and set it on the host with esxcli system settings advanced list/set -o /HBR/UnmapDeltaSyncQueueSize. The vDan ESXi settings explorer lists it as a hidden option with KB 460948 as the source.

How does this list relate to the VCF 9 list?

It covers ESXi 7.x and 8.x KBs that the VCF 9 post does not. If you run 8.0 U3, read both: several VCF 9 KBs, such as the vSAN ESA UNMAP throttle and Security.PasswordMaxDays, apply to 8.0 hosts as well.

Related on vDan

Daniel Micanek

Senior Service Architect, SAP/TDL Platform Services Team at Vivicta | vExpert ⭐⭐⭐⭐⭐⭐⭐ | Broadcom Knight: vSphere Kubernetes Service, VCF Networking (NSX), VCF Automation | Broadcom Software Knight: vSphere | Cisco Champion. Notes from running about 1,000 ESXi hosts on Cisco UCS, VCF 9 and SAP HANA on vSphere.