Microsoft KB Archive/911822

From BetaArchive Wiki

Article ID: 911822

Article Last Modified on 12/3/2007



APPLIES TO

  • Microsoft Internet Information Services 6.0




Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry


SYMPTOMS

Consider the following scenario. You run Microsoft Internet Information Services (IIS) version 6.0 on a computer that is running Microsoft Windows Server 2003. You host an application that processes a very large amount of static file requests. In this scenario, the worker process of the application may use lots of memory. As the process continues to run, a decreasing amount of memory is available over time. Eventually, the process may run out of memory to allocate.

CAUSE

IIS 6.0 keeps a user mode cache entry for each Internet Server API (ISAPI) response that is sent back to the clients through the Http.sys file. This user mode cache entry has an infinite Time to Live (TTL). When the application data changes, IIS 6.0 uses this user mode cache entry to flush the kernel mode cache entry from the Http.sys file. The design of IIS 6.0 makes sure that the clients are always served with the latest data. For an application that processes a very large amount of static file requests, the cached response for such requests remains in user mode memory until IIS 6.0 is recycled.

RESOLUTION

Service pack information

To resolve this problem, obtain the latest service pack for Windows Server 2003. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

889100 How to obtain the latest service pack for Windows Server 2003


Hotfix information

Registry information

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

After you apply this hotfix, you must add and configure the DontFlushCachedIsapiResponses registry entry to disable the user mode tracking and the flushing of cached ISAPI responses. To do this, follow these steps:

  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate and then click the following registry subkey:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters

  3. On the Edit menu, point to New, and then click DWORD Value.
  4. Type DontFlushCachedIsapiResponses as the entry name, and then press ENTER.
  5. Right-click DontFlushCachedIsapiResponses, and then click Modify.
  6. In the Value data box, type 1 to enable the hotfix, and then click OK.

    Note To return the service to the default behavior, type a value that is other than 0.
  7. Exit Registry Editor.
  8. Restart the World Wide Web Publishing Service (WWW service). To do this, follow these steps:
    1. Click Start, click Run, type cmd, and then click OK.
    2. Type the following commands, and then press ENTER after each command:

      net stop w3svc

      net start w3svc

Prerequisites

To apply this hotfix, you must have Windows Server 2003 with Service Pack 1 (SP1) installed on the computer.

Restart requirement

You do not have to restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any other hotfixes.

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.

Date Time Version Size File name
06-Dec-2005 04:17 6.0.3790.2584 348,160 W3core.dll


STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in Windows Server 2003 Service Pack 2.

MORE INFORMATION

By applying this hotfix and by using the new registry entry, you can disable the user mode tracking and the flushing of cached ISAPI responses.

Important We highly recommend that you contact Microsoft Product Support Services and have the problem diagnosed before you disable this feature. Regardless of where memory leaks occur, memory leaks generally exhibit the same behavior. However, the root cause for each memory leak may be different.

Disabling this feature has several side effects. For example, IIS 6.0 will no longer invalidate the cached ISAPI responses. If any metadata changes, the change will not flush the cache. For example, if an anonymous response was cached in kernel (Http.sys) and you changed the virtual directory to require Basic Authentication, the change will not flush the cache. The Http.sys file will still return the data to anonymous requests. Disabling this feature may only be effective in certain circumstances and may not be a good choice for everyone.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates



Additional query words: IIS6, Cache, ISAPI, Response, Memory leak

Keywords: kbbug kbfix kbqfe kbmemory kbpubtypekc kbwinserv2003presp1fix kbhotfixserver kbwinserv2003sp2fix KB911822