If you notice unsatisfactory performance for your software iSCSI LUNs, change their maximum queue depth by running the esxcli commands.


  • Install vCLI or deploy the vSphere Management Assistant (vMA) virtual machine. See Getting Started with vSphere Command-Line Interfaces. For troubleshooting, you can run esxcli commands in the ESXi Shell.
  • In the procedure, the --server=server_name connection option specifies the target server. Be prepared to enter a user name and password when the target server prompts you. For a list of other possible connection options, see Getting Started with vSphere Command-Line Interfaces.


  1. Run the following command:
    esxcli --server=server_name system module parameters set -m iscsi_vmk -p iscsivmk_LunQDepth=value

    The iscsivmk_LunQDepth parameter sets the maximum number of outstanding commands, or queue depth, for each LUN accessed through the software iSCSI adapter. The default value is 128.

  2. Reboot your system.
  3. Verify your changes by running the esxcli --server=server_name system module parameters list -m iscsi_vmk command.
    The following output shows the queue depth for software iSCSI.
    iscsivmk_LunQDepth  int   64  Maximum Outstanding Commands Per LUN  


Caution: Setting the queue depth to a value higher than the default can decrease the total number of LUNs supported.