The ESXi host logged TASK_SET_FULL events infrequently and logged below messages:
YYYY-MM-DDTHH:MM:SS.303Z In(182) vmkernel: cpu25:2098644)NMP: nmp_ThrottleLogForDevice:3898: H:0x0 D:0x28 P:0x0 . Act:NONE. cmdId.initiator=0x430efe119c00 CmdSN 0x800e0050
YYYY-MM-DDTHH:MM:SS.862Z In(182) vmkernel: cpu19:2098630)ScsiDeviceIO: 4633: Cmd(0x45ba4e3729c0) 0x2a, CmdSN 0x3b1 from world 9346294 to dev "naa.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" failed H:0x0 D:0x28 P:0x0
YYYY-MM-DDTHH:MM:SS.862Z In(182) vmkernel: cpu19:2098630)ScsiDeviceIO: 4633: Cmd(0x45ba4e3b61c0) 0x2a, CmdSN 0x37e from world 9346294 to dev "naa.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" failed H:0x0 D:0x28 P:0x0
but there are not VMs issued heavy IO .
ESXi 8.x
Customer has created a "single" EMC Unity Storage Pool , created LUNs and mapping them to different hosts like ESXi and some others physical servers . As those physical servers issues heavy IO and consumed IO queue of that "single" EMC Unity Storage Pool , ESXi will received TASK_SET_FULL from storage .
Engaged the Storage Vendor to check it and spread those LUNs in different storage pools .