I have C ++. Exe mixed mode running as a service on a Windows Server 2012 machine. This process continuously takes up more than 50% of the total number of processor (2 cores). However, if I run the service on Windows 7, it takes about 5-10% of the CPU.
The culprit stream stack (taken from Process Explorer) is as follows:
ntoskrnl.exe!KeSynchronizeExecution+0x2246
ntoskrnl.exe!ExAcquireCacheAwarePushLockExclusive+0x51a
ntoskrnl.exe!KeSynchronizeExecution+0x5f12
ntoskrnl.exe!KeIsAttachedProcess+0x8ba
ntoskrnl.exe!KeSynchronizeExecution+0x4133
mscorlib.ni.dll+0x4052a4
mscorlib.ni.dll+0x3c20
clr.dll!DllCanUnloadNowInternal+0xfb91
clr.dll!DllUnregisterServerInternal+0x9630
KERNEL32.dll!BaseThreadInitThunk+0x24
ntdll.dll!RtlInitializeExceptionChain+0x8f
ntdll.dll!RtlInitializeExceptionChain+0x5a
What is this topic? And what is the reason for this high CPU usage? How should I debug and solve this problem?
source
share