Starting with SQL Server 2005 SP3 and SQL Server 2008 the RDTSC counter is not used for timing in SQL Server but you may still have occasion to use RDTSCTest.
From: Robert Dorr
Sent: Thursday, June 04, 2009 4:14 PM
Subject: RE: SQL Troubleshooting – RDTSC
In the registry the speed is stored but we have found machines where the registry values are not correct. In order to check the current speed you have to do some timing on the CPU and if speed step or such technology is involved it is possible the CPU is running at a level below max and until it gets resource pressure it does not need to run at the max level.
CPU Speed: 1595Mhz (1595000 ticks per ms) <============ From registry
CPU 00 Current Speed: 399Mhz *Speed Variance <============ Base on actual RDTSC movement
What we do here is set the thread affinity to the CPU.
Grab the current RDTSC
Grab the RDTSC now
Calculate the difference.
So this system is likely throttling down to 399Mhz during the sleep period. We would have to spin the CPU to get it to wake up and increase to the max.
Sent: Thursday, June 04, 2009 2:11 PM
To: Robert Dorr
Subject: SQL Troubleshooting – RDTSC
I used the RDTSC utility on a customer’s 4 dual core Itamium 2 system recently. Is the utility accurate on IA64 systems?
Actual CPU speed was being reported at 399MHz across all 8 CPU’s, which are 1.6GHz Itanium 2 procs. I had run across this in pssdiag data I collected, and asked them to verify their power settings were set to not throttle down the CPU. They sent back the report below which still indicates the CPU’s at 399MHz.
I asked them to verify with their hardware vendor CPU’s are set to operate at full speed, but thought I would also double check this is a valid utility for Itanium 2 procs.
======================= Processor =======================
Processor Architecture: IA64
Page Size: 8192
Processor Type: Intel IA64
Processor Type: Family 32, Model 1, Stepping 1
CPU Speed: 1595Mhz (1595000 ticks per ms)
Active Processor Mask: 255 (0x00000000000000FF)
Warning: CPUID Leaf 4 is not supported or disabled in BIOS. May be unable to determine core/processor mapping.
Hyper-Threading: Not capable
Physical Package/Socket Count: 1
Processor Core Count: 1 (1 per package)
Logical Processor Count: 8 (1 per core)
Logical Processor/Core/Socket Mapping
CPU APIC ID Physical ID Core ID HT/SMT ID
—— ———– ———– ———– ———–
0 0 0 0 0
1 0 0 0 0
2 0 0 0 0
3 0 0 0 0
4 0 0 0 0
5 0 0 0 0
6 0 0 0 0
7 0 0 0 0
======================= NUMA ============================
Max NUMA Node: 0 (no NUMA)
Node 0 Processor Mask: 255 (0x00000000000000FF)
======================= Memory ==========================
Total Physical Memory: 16352 MB
Avail Physical Memory: 13776 MB
% Memory In Use: 15
Total Page File: 32498 MB
Avail Page File: 29697 MB
NUMA Node 0 Avail Memory: 13776 MB
======================= Actual CPU Speed ================
CPU 00 Current Speed: 399Mhz *Speed Variance
CPU 01 Current Speed: 399Mhz *Speed Variance
CPU 02 Current Speed: 399Mhz *Speed Variance
CPU 03 Current Speed: 399Mhz *Speed Variance
CPU 04 Current Speed: 399Mhz *Speed Variance
CPU 05 Current Speed: 399Mhz *Speed Variance
CPU 06 Current Speed: 399Mhz *Speed Variance
CPU 07 Current Speed: 399Mhz *Speed Variance
======================= RDTSC Deltas ====================
CPU 00 Ticks: 0x00006817EAADE77B, Drift: 0.0ms (0x00000000 ticks)
CPU 01 Ticks: 0x00006817EAAE128A, Drift: 0.0ms (0x00002B0F ticks)
CPU 02 Ticks: 0x00006817EAAE39A6, Drift: 0.0ms (0x0000522B ticks)
CPU 03 Ticks: 0x00006817EAAE63A4, Drift: 0.0ms (0x00007C29 ticks)
CPU 04 Ticks: 0x00006817EAAE8D6E, Drift: 0.0ms (0x0000A5F3 ticks)
CPU 05 Ticks: 0x00006817EAAEB639, Drift: 0.0ms (0x0000CEBE ticks)
CPU 06 Ticks: 0x00006817EAAEDEC2, Drift: 0.0ms (0x0000F747 ticks)
CPU 07 Ticks: 0x00006817EAAF0B75, Drift: 0.0ms (0x000123FA ticks)
Bob Dorr – Principle SQL Server Escalation Engineer