!icpleak
The !icpleak extension examines all I/O completion objects in the system for the object with the largest number of queued entries.
!icpleak [HandleFlag]
Parameters
HandleFlag
If this flag is set, the display also includes all processes that have a handle to the object with the largest number of queued entries.
DLL
Kdexts.dll
Additional Information
For information about I/O completion ports, see Microsoft Windows Internals by Mark Russinovich and David Solomon.
Remarks
This extension is useful when there is a leak in the I/O completion pool. I/O completion pool leaks can occur when a process is allocating I/O completion packets by calling PostQueuedCompletionStatus, but is not calling GetQueuedCompletionStatus to free them, or when a process is queuing completion entries to a port, but there is no thread retrieving the entries. To detect a leak run the !poolused extension and check the value of ICP pool tag. If pool use with the ICP tag is significant, a leak might have occurred.
This extension works only if the system maintains type lists. If the HandleFlag is set and the system has many processes, this extension will take a long time to run.
You can stop at any point by pressing CTRL+BREAK (in WinDbg) or CTRL+C (in KD).
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for