Kernel-mode and user-mode caching
Published Jul 29 2021 02:13 PM 3,156 Views

After enabling output caching (refers to both kernel-mode and user-mode) in IIS, you may want to make sure resources are cached as expected. Here is what you can do to confirm the caching status:


Kernel-mode cache

  • Run the command netsh http show cachestate. If it returns “There were no cache entries corresponding to the provided URL”, there is no data in the kernel-mode cache
  • Check “Kernel: Current URIs Cached” performance counter. If it shows 0, the kernel-mode cache is empty
  • Collect Failed Request Tracing (FREB) logs. It shows if kernel-mode caching was used (HTTPSYS_CACHEABLE event)


Note: Even if the kernel-mode cache is enabled, resources may not be cached. There are certain scenarios in which the kernel-mode caching cannot be used (Reference)


User-mode cache

  • There is no equivalent of netsh http show cachestate command for the user-mode cache
  • However, you can use the performance counter “Current URIs Cached”. It shows how many URIs are cached in the user-mode
  • Note: Recycling application pool or resetting IIS clears the user-mode cache




A few useful pages to learn more about caching:



Version history
Last update:
‎Jul 29 2021 02:13 PM
Updated by: