Symptom
On Windows Server 2003, or Windows Server 2008 (R2) the SAP high resolution timer delivers incorrect values. This note does not apply to Windows Server 2012 or higher.
There are the following symptoms:
- Developer traces contain a lot of warnings:
M *** WARNING => endtime (1177209745/443095)
before starttime (1177209745/709153)
- sapntchk.exe delivers the following log information:
Fast CPU timers : Not Synchronized
OS timers : Not Synchronized
ERROR : OS timers ‚QueryPerformanceCounter‘ must be synchronized. Ask your hardware vendor for HAL update.
Other Terms
AMD, X2, Opteron, Dual Core, Quad Core, Processor Driver, timers, sapntchk, QueryPerformanceCounter, /usepmtimer, bcdedit, useplatformclock
Reason and Prerequisites
Older SAP ABAP kernels prior to 7.20 use the WIN32 API QueryPerformanceCounter / QueryPerformanceFrequency function to calculate high resolution timestamps. By default, Windows uses processor counters that increase with the processor frequency. Newer CPU technologies from Intel or AMD vary this frequency depending on the processor load. In this environment these registers are not synchronized between the processors, and the timestamps are no longer useable for our purpose.
Solution
The following solutions are available for SAP kernels prior to 7.20.
SAP kernels 7.20 and higher use a completely redesigned timer calculation method which does not depend any longer on Windows performance counters and processor frequency.
For older kernels you can use these solutions:
Windows Server 2003:
Before you install the SAP system on Windows Server 2003, download and install the latest processor drivers for your CPU from your hardware vendor’s site at:
http://support.amd.com
The processor driver ensures that QueryPerformanceCounter uses appropriate sources.
Alternatively, set key /usepmtimer in boot.ini.
Known issues: SQL Server 2005 might be affected from inaccurate CPU frequencies. For more information, see MS KB 931279, 938448, and 895980.
Windows Server 2008 or Windows Server 2008 R2:
For SAP kernel release 7.01 and 7.20, refer to SAP note 1466511.
For all other releases:
Open a command prompt with elevated administrator rights, and enter:
bcdedit /set {current} useplatformclock true
Reboot your Windows operating system.
To verify that this switch is set correctly, use the command:
bcdedit
To get an overview about the Windows boot loader configuration, set „useplatformclock“ to „Yes“.
Windows Boot Loader
——————-
identifier {current}
device partition=C:
path \Windows\system32\winload.exe
description Windows Server 2008 R2
locale en-US
inherit {bootloadersettings}
recoverysequence {cc9ee2ae-8304-11e0-b554-9f3035f0d485}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {cc9ee2ac-8304-11e0-b554-9f3035f0d485}
nx OptOut
useplatformclock Yes
Header Data
Released On | 24.02.2014 08:30:35 | ||
Release Status | Released for Customer | ||
Component | BC-OP-NT Windows | ||
Other Components |
|
||
Priority | Correction with high priority | ||
Category | External error |
Validity
This document is not restricted to a software component or software component version
References
This document refers to:
SAP Notes
This document is referenced by:
SAP Notes (12)