Loading...
Loading...
Systems running Linux exhibit lower-than-expected performance on SSD or NVMe drives connected through PERC or HBA controllers. Symptoms include: Reduced IOPS Elevated latency Suboptimal throughput relative to expected device or platform capabilities
Modern PERC RAID and HBA controllers present attached storage devices to the operating system through a SCSI device model, even when the underlying media is NVMe. Because these devices appear as SCSI SAS targets, most Linux distributions automatically apply legacy block I/O scheduling policies optimized for rotational hard drives. When SSD or NVMe devices are forced through these HDD-oriented schedulers, the result is reduced throughput and higher latency compared to their native performance. Relevant Controller Models Controller Type Models PERC H345, H350, H355, H365, H740P, H745, H750, H755, H840, H965, H975 HBA HBA345, HBA355, HBA465
For SSD and NVMe drives attached through PERC or HBA controllers, changing the Linux block I/O scheduler to none may improve performance. Linux typically sets the scheduler to none for native NVMe configurations, but devices behind PERC and HBA controllers appear as SCSI targets and receive a different default scheduler. OS Disk Scheduler Documentation Refer to your operating system documentation for full details on disk scheduler configuration: Red Hat Enterprise Linux 8: Setting the disk scheduler Red Hat Enterprise Linux 9: Setting the disk scheduler SUSE Linux Enterprise Server 15 SP6: Tuning I/O performance Check the Current Scheduler As superuser, run the following command, where {SD} is the device block entry under /dev (for example, sda ): cat /sys/block/{SD}/queue/scheduler Screenshot showing the scheduler set to mq-deadline in Red Hat Enterprise Linux 9 for sda : Set the Scheduler to None As superuser, run the following command, where {SD} is the device block entry under /dev (for example, sda ): echo "none" > /sys/block/{SD}/queue/scheduler Screenshot showing the scheduler updated to none for sda : Note: This change is not persistent across reboots and does not follow the drive or virtual disk if the /dev block device name changes. A udev rule can be added for the device WWID to persistently set the scheduler to none . Refer to your OS documentation for instructions on creating udev rules or similar mechanisms for setting block device parameters. Additional Optimization Additional OS tuning and BIOS power profile changes may be required to achieve maximum controller and drive performance. Refer to your OS performance tuning documentation and BIOS power profile settings for further guidance.
Click on a version to see all relevant bugs
Dell Integration
Learn more about where this data comes from
BugZero Plan
Streamline upgrades with automated vendor bug scrubs
BugZero Prevent
Wish you caught this bug sooner? Get proactive today.