Fix High DPC Latency Spikes after 1903 Update—Some Solutions
ByPalla SridharPosted onUpdated on
The 1903 update of Windows 10 was tested well before its release. It was a more stable version than the October 2018 update. But it still had a few issues, which include DPC latency spikes.
On my computer, the startup time was very high, and it took a long time to become active. It is also slower while doing normal operations like opening some programs and Windows settings.
LatencyMon tests reveal that ntoskrnl.exe / dxgkrnl.sys are responsible for the high DPC routine execution time. In this thread on Reddit, a lot of feedback is left on the Microsoft app to make it know the issue.
Latest Update on 1903 DPC Latency Problem in Windows 10
I upgraded my PC with a new SSD after writing this article. This reduced the amount of startup time, and also the execution of programs was quick enough. But I wanted to check whether the Windows 10 1903 DPC latency problem was resolved or not.
I was using the latest KB build, which had the following version: 18362.267.
As we can see the following metrics from the Latency Report show something like this:
The Highest reported ISR routine execution time (microseconds) is 8140.378793.
Highest reported DPC routine execution time (microseconds)—10872.406751
As we can see the cause of the DPC latency spike problems after the 1903 update was the following:
DirectX Graphics Kernel (dxgkrnl.sys)
NVIDIA Windows Kernel Mode Driver (nvlddmkm.sys)
But as we have seen in different forums, the real cause of 1903 dpc latency spike issue is the update itself. Even in August, the problem seems to persist and no real solution is found yet.
Why does Ntoskrnl.exe take lot of CPU, memory, and hard disk space?
This behavior is due to the new compressed memory feature built into Windows 10. Starting from Build 10525, Microsoft added a new feature in the Memory Manager called a compression store.
The compression store lives in the System process’s working set. Since the system process holds the store in memory, its working set grows larger exactly when memory is being made available for other processes. This is visible in Task Manager and the reason the System process appears to be consuming more memory than previous releases.
The large memory use is therefore kind of something Windows 10 has been built to do but can sometimes be mistaken as a memory leak. Windows 10, sacrifices memory in exchange for speed. Instead of writing pages into your HDD, it compresses the pages on the RAM. This makes Windows 10 faster than previous versions because reading compressed data from the computer’s RAM is faster than reading it from the HDD then loading into the RAM.
The error message would look something like this:
Your system appears to be having trouble handling real-time audio and other tasks. You are likely to experience buffer underruns appearing as drop outs, clicks or pops. One or more DPC routine that belong to a driver running in your system appear to be executing for too long. One problem may be related to power management, disable CPU throttling settings in Control Panel and BIOS setup. Check for BIOS updates.
If you are using legacy BIOS, you might try to update it, but to no avail. This error is more common using NVIDIA graphic drivers.
In this Windows report it is said that Microsoft and NVIDIA are working together to fix latency spikes in Windows 10 version 1903.
This issue was existing in earlier releases also, but has been fixed in 1809 version. It has come back in the 1903 version.
I use my desktop for general PC ops and also for my recording studio. With all versions, including 1809, I haven’t had any issues with latency/clicks/dropouts in audio, etc. Resplendence Latency Mon shows no problems. However, with 1903 there are latency problems. The “culprits,” according to Latency Mon, are the USB bus and/or High Definition Audio (Realtek). I’ve restored my PC back to the 1809 5/22/19 disc image I did before upgrading to 1903. I’ve run LatencyMon again after restoring, and still no issues (with 1809). This has also been reported on the Gearslutz forum by another user.
Solutions for the high DPC latency spike problem in 1903.
1. If you have updated from the 1809 version, you can revert back to the last version. This approach solves the problem for many people. But you may not get the benefits of the new release, such as improved performance, security updates, and new features that enhance user experience.
2. You can change the startup type of the “SysMain” service to “Disabled” in the Services tool. If it does not work out, you can revert back to the normal setting. This service is another name for prefetch or superfetch, which existed in Windows 7. At least it will reduce the latency spike.
3. Upgrade to the Insider Build of 18909, and most of the time it will be fixed. You can subscribe to it using the Update setting in Windows Settings.
4. You can use the Windows System Timer Tool to reduce the timer to 0.5 secs, which is generally 15 secs or more.
5. Build 18362.145 seems to solve this issue. So if you made a new KB update and have been using 18362.207, you can uninstall that KB update.
6. Update your NVIDIA graphics drivers to the latest version if they are available after the 1903 update. Since ntoskrnl.exe is the culprit, the incompatibility between NVIDIA and the 1903 update can be reduced if updated to the latest drivers.
7. Disable MSI mode for Marvell network cards, which could stop the ntoskrnl.exe spikes.
8. Turn off CPU overclocking if you have done it before. Then you can turn it again after the DPC (Deferred Procedure Call) latency spikes are reduced. The 1903 update could be in conflict with the old overclocking strategy, potentially leading to instability or performance issues in the system.
9. Turn off power throttling of your NVIDIA graphic cards. This step can be done using Group Policy Editor. Open the Windows Run dialog box by pressing the Win + R keys. Then type “gpedit.msc.” Navigate to the following path.
Computer Configuration > Administrative Templates > System > Power Management> Power Throttling Settings
Double-click the “Turn off Power Throttling” setting and check “Enabled.”
10. Scan your computer for viruses, adware, and malware. This is because the malware might be associated with the NTOSKRNL.exe file and hence take a lot of CPU and RAM resources. Specifically scan the C:\Windows\System32 folder, where the above file resides.
11. Uninstall incompatible programs that trigger unusual behavior. These programs might execute subtasks that cause the processes to get stuck in a loop and end up taking a lot of system resources.
12. Repair the Windows System Image and Windows Component Store in Windows 10 using the following commands.
13. Stop the Runtime Broker process. Open the Task Manager and see if it’s using more than 15% of your memory. If it is, then some app is having an issue and taking a lot of memory. End the task by right-clicking and selecting “End Task.”
14. Adjust your Windows 10 for best performance results. This adjustment can be done by disabling visual effects. Open System from Control Panel. Then click on “Advanced system settings.” On the “Advanced” tab, under “Performance,” click on Settings. Check the following settings using “Custom.”
1. Show shadows under windows. 2. Show thumbnails instead of icons. 3. Smooth edges of screen fonts 4. Smooth-scroll list boxes. 5. Use drop shadows for icon labels on desktop.
These are the minimal settings for a better appearance and performance.
15. Use Windows Performance Toolkit to find the root cause. Open cmd in elevated mode (with administrator privileges) and type the following command.
Wait for some time till the process is complete and check the logs in the following location: the C:\Windows\System32 folder. Open the file cpuusage. ETL the data and analyze it using Windows Performance Analyzer to identify the exact cause.
Conclusion
As per WindowsReport, this seems to be a bug in the 1903 version related to NVIDIA graphic cards. It could be fixed in the next release or KB update.
In the latest Windows 10 update, Microsoft introduced some significant changes, including those to the WDDM (Windows Display Driver Model) and kernel.
For now, there are no solutions for the issue, but there is a workaround. Users said that after reverting to Windows 10 version 1809, the problem disappeared.
Palla Sridhar
Palla Sridhar is the CEO of DigiPalla IT Services LLP and a seasoned ex-IT professional with over 15 years of blogging experience. He specializes in Microsoft products, including Windows 10, Windows 11, and Office 365, with deep expertise in error code solutions, computer repair, and IT troubleshooting. He publishes practical guides that help everyday users and professionals solve real tech problems quickly and confidently.