HP c-Class Performance Tuning manual CPU thermal throttling or auto-idling

Page 13

Correctable Error Reporting: enabled

Non-fatal Error Reporting: enabled

Unsupported Request Reporting: enabled Current status: 0x0000

Correctable Error(s): None

Non-Fatal Error(s): None

Fatal Error(s): None

Unsupported Type(s): None

Current link capabilities: 0x02014501 Maximum link speed: 2.5 Gb/s Maximum link width: 16 lanes

Current link capabilities: 0x00001041 Link speed: 2.5 Gb/s

Link width is 4 lanes

ioDrive 01:00.0 Firmware 11791

CPU thermal throttling or auto-idling

Issue

Current-generation CPUs monitor themselves for thermal overheat. If the CPU is running on the edge of its manufacturer-specified thermal tolerance, the CPU will reduce its clock rate to keep from overheating. This reduces overall system performance, including IO Accelerator performance.

Some systems have a CPU idle detector installed as well. This decreases the clock rate of the CPU under low load to conserve power, but it also decreases overall system performance.

Solution

To detect a CPU running at a slower rate, inspect the contents of the /proc/cpuinfo file (in the Linux kernel) for discrepancies between the speed reported by the model and the current running speed. You must perform this inspection for each of the CPUs included in the listing.

Below is sample output of a system that has throttled from 2.66 GHz to 1 GHz.

processor : 0

 

vendor_id : GenuineIntel

 

cpu family : 6

 

model : 15

 

model name : Intel (R) Xeon (R) CPU

5150 @ 2.66GHz

stepping : 5

 

cpu MHz : 1000.382

 

cache size : 4096 KB

 

--snip--

 

Debugging performance issues 13

Image 13
Contents HP IO Accelerator Performance Tuning Guide Page Contents Setting Windows driver affinity Introduction About the Performance and Tuning GuideVerifying Linux system performance System performanceWrite bandwidth test System performance Verifying Windows system performance with Iometer Improperly configured benchmark Debugging performance issuesOversubscribed bus Handling PCIe errors PCIe link width improperly negotiated CPU thermal throttling or auto-idling Using CP and other system utilities Slow performance using RAID5 on LinuxBenchmarking through a filesystem To avoid this issue. For more information, see the patch Using direct I/O, unbuffered, or zero copy General tuning techniquesMultiple outstanding IOs $ dd if=/dev/zero of=/dev/fioX bs=10M oflag=direct Pre-conditioning$ echo 4096 /sys/block/fio name/queue/nrrequests Pre-allocating memoryPreallocatemb Increased steady-state write performance with fio-format Tuning techniques for writesExt2-3-4 tuning Linux filesystem tuningStride = chunk size / filesystem block size Stripewidth = dbd * strideOptions iomemory-vsl preallocatememory=1072,4997,6710,10345 Using the IO Accelerator as swap spaceCompiling the fio benchmark Fio benchmark$ tar xjvf fio-X.Y.Z.tar.bz2 $ cd fio-X.Y.Z Page Using direct I/O on Linux Programming using direct I/OFd = openfilename, Owronly Fd = openfilename, Owronly OdirectUsing direct I/O on Windows ++ code sample Programming using direct I/O Programming using direct I/O Windows driver affinity Setting Windows driver affinityCreate the SetWorkerAffinity2 tag of type Regdword Acronyms and abbreviations Index Index