Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

System virtual address space becomes exhausted or fragmented on an x86-based version of Windows Server 2008 SP2


View products that this article applies to.

Symptoms

Assume that you have a computer that is running an x86-based version of Windows Server 2008 Service Pack 2 (SP2). The usage of the system Page Table Entries (PTEs) is high. In this situation, the system virtual address space becomes exhausted and highly fragmented.

Notes
  • When this issue occurs, the system becomes unstable.
  • This issue is caused by a particular allocation pattern that is rarely observed in drivers. For more information about this particular allocation pattern, go to the "Cause" section. Collect a dump file when the computer is in an unstable state, and then contact Microsoft Customer Service and Support for analysis.
  • To obtain information about the fragmentation of the system virtual address and the system PTEs, you have to perform one of the following operations:
    • Establish a live kernel-mode debugging session.
    • Establish a local kernel-mode debugging session.
    • Collect kernel-mode dump files.
    You can use the following kernel debugger commands to establish the session and obtain information:
    • Run the following command to display total available space, the largest memory block, and how much memory that is used by various kernel memory resources (such as pools and system PTEs):
      !vm 21 
      The message that is returned by this command resembles the following:





      14: kd> !vm 21
      *** Virtual Memory Usage ***
      Physical Memory: 4191796 ( 16767184 Kb)
      Page File: \??\C:\pagefile.sys
      Current: 17408000 Kb Free Space: 17362464 Kb
      Minimum: 17408000 Kb Maximum: 17408000 Kb
      Available Pages: 980816 ( 3923264 Kb)
      ResAvail Pages: 4005065 ( 16020260 Kb)
      Locked IO Pages: 0 ( 0 Kb)
      Free System PTEs: 55716 ( 222864 Kb)
      Modified Pages: 24737 ( 98948 Kb)
      Modified PF Pages: 24356 ( 97424 Kb)
      NonPagedPool Usage: 51445 ( 205780 Kb)
      NonPagedPool Max: 522998 ( 2091992 Kb)
      PagedPool 0 Usage: 169861 ( 679444 Kb)
      PagedPool 1 Usage: 24692 ( 98768 Kb)
      PagedPool 2 Usage: 19764 ( 79056 Kb)
      PagedPool 3 Usage: 19469 ( 77876 Kb)
      PagedPool 4 Usage: 20109 ( 80436 Kb)
      PagedPool Usage: 253895 ( 1015580 Kb)
      PagedPool Maximum: 523264 ( 2093056 Kb)
      Session Commit: 12273 ( 49092 Kb)
      Shared Commit: 37334 ( 149336 Kb)
      Special Pool: 0 ( 0 Kb)
      Shared Process: 22380 ( 89520 Kb)
      Pages For MDLs: 1 ( 4 Kb)
      PagedPool Commit: 253895 ( 1015580 Kb)
      Driver Commit: 3829 ( 15316 Kb)
      Committed pages: 3862488 ( 15449952 Kb)
      Commit limit: 8507657 ( 34030628 Kb)

      VA Type CurrentUse Peak Limit Failures
      Unused 130 Mb 0 Mb OPEN 0
      SessionSpace 60 Mb 66 Mb OPEN 0
      ProcessSpace 16 Mb 0 Mb OPEN 0
      BootLoaded 26 Mb 0 Mb OPEN 0
      PfnDatabase 118 Mb 248 Mb OPEN 0
      NonPagedPool 208 Mb 210 Mb OPEN 0
      PagedPool 1096 Mb 1096 Mb OPEN 0
      SpecialPool 0 Mb 0 Mb OPEN 0
      SystemCache 140 Mb 992 Mb OPEN 0
      SystemPtes 214 Mb 222 Mb OPEN 0
      Hal 4 Mb 0 Mb OPEN 0
      SessionGlobal 12 Mb 12 Mb OPEN 0
      Driver Images 24 Mb 0 Mb OPEN 0
      NPSpecialPool 0 Mb 0 Mb OPEN 0
      ProtoPTE Pool 0 Mb 0 Mb OPEN 0
      Maximum contiguous unused VA: 8 Mb
    • Run the following command to display information about the system PTEs:
      !sysptes 1 
      This information includes the number and size of free blocks. The message that is returned by this command resembles the following:
      14: kd> !sysptes 1
      System PTE Information
      Total System Ptes 88048
      starting PTE: c0400000
      free ptes: c0402c80 number free: 1.
      free ptes: c0402ca8 number free: 1.
      free ptes: c0408020 number free: 3.
      free ptes: c0408098 number free: 4.
      . . . 3755 entries cut . . .
      free ptes: c07ddd30 number free: 13.
      free ptes: c07dddd8 number free: 4.
      free ptes: c07dde18 number free: 4.
      free ptes: c07dde58 number free: 1.
      free ptes: c07dde80 number free: 26.
      free ptes: c07ddf70 number free: 10.
      free blocks: 3763 total free: 22432 largest free block: 89
    When the issue that is described in the Symptoms section occurs, the "CurrentUse" indicator that is returned by the !vm 21 command increases over time for the "SystemPtes" category. At the same time, fragmentation in the system PTEs can be observed by viewing the value of "free blocks" that is returned by the !sysptes 1 command over time.

    The exhaustion and fragmentation of available kernel virtual address space can be diagnosed by observing the values of "Unused" and "Maximum contiguous unused VA" that are returned by the !vm 21 command.

    Variations of the parameters over time cannot be observed in kernel-mode dump files.

↑ Back to the top


Cause

This issue occurs because a device driver or kernel-mode code allocates and releases large memory buffers (I/O buffers). These kinds of buffers are implemented by using the system PTEs. When a large allocation that is requested is not a multiple of 2 megabytes (MB), fragmentation occurs within the system PTEs area.

↑ Back to the top


Resolution

Hotfix information

After you install this hotfix, the allocation algorithm is optimized to reduce fragmentation when the particular allocation pattern occurs in one or more kernel drivers. System PTE mapping request that is larger than 2 MB is rounded to a multiple of 2 MB in order to reduce fragmentation.


A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft website: Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

To apply this hotfix, you must be running Windows Server 2008 SP2.

For more information about how to obtain a Windows Server 2008 service pack, click the following article number to view the article in the Microsoft Knowledge Base:

968849 How to obtain the latest service pack for Windows Server 2008

Registry information

To apply this hotfix, you do not have to make any changes to the registry.

Restart requirement

You must restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace a previously released hotfix.
File information
The global version of this hotfix installs files that have the attributes that are listed in the following tables. The dates and the times for these files are listed in Coordinated Universal Time (UTC). The dates and the times for these files on your local computer are displayed in your local time together with your current daylight saving time (DST) bias. Additionally, the dates and the times may change when you perform certain operations on the files.
Windows Server 2008 file information notes
Important Windows Vista hotfixes and Windows Server 2008 hotfixes are included in the same packages. However, only "Windows Vista" is listed on the Hotfix Request page. To request the hotfix package that applies to one or both operating systems, select the hotfix that is listed under "Windows Vista" on the page. Always refer to the "Applies To" section in articles to determine the actual operating system that each hotfix applies to.
  • The files that apply to a specific product, SR_Level (RTM, SPn), and service branch (LDR, GDR) can be identified by examining the file version numbers as shown in the following table.
    VersionProductSR_LevelService branch
    6.0.600
    2.
    23xxx
    Windows Server 2008SP2LDR
  • The MANIFEST files (.manifest) and the MUM files (.mum) that are installed for each environment are

    listed separately in the "Additional file information for Windows Server 2008" section. MUM files and MANIFEST files, and the associated security catalog (.cat) files, are extremely important to maintaining the state of the updated component. The security catalog files, for which the attributes are not listed, are signed with a Microsoft digital signature.
For all supported x86-based versions of Windows Server 2008
File nameCsrsrv.dll
File version6.0.6002.23131
File size49,152
Date (UTC)01-Jun-2013
Time (UTC)02:51
Platformx86
File nameNtkrnlpa.exe
File version6.0.6002.23131
File size3,606,376
Date (UTC)01-Jun-2013
Time (UTC)03:22
PlatformNot applicable
File nameNtoskrnl.exe
File version6.0.6002.23131
File size3,555,176
Date (UTC)01-Jun-2013
Time (UTC)03:22
PlatformNot applicable
File nameSmss.exe
File version6.0.6002.23131
File size64,512
Date (UTC)01-Jun-2013
Time (UTC)01:26
Platformx86

↑ Back to the top


Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

↑ Back to the top


More Information

For more information about software update terminology, 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 file information

Additional file information for Windows Server 2008

Additional files for all supported x86-based versions of Windows Server 2008
File nameFile versionFile sizeDateTimePlatform
X86_microsoft-windows-csrsrv_31bf3856ad364e35_6.0.6002.23131_none_cbd7c528bbb914f7.manifestNot applicable3,07901-Jun-201303:40Not applicable
X86_microsoft-windows-os-kernel_31bf3856ad364e35_6.0.6002.23131_none_6e80efc3ca7e8596.manifestNot applicable17,80601-Jun-201303:41Not applicable
X86_microsoft-windows-r..gistry-trustedtypes_31bf3856ad364e35_6.0.6002.23131_none_864e87b644c39030.manifestNot applicable7,65401-Jun-201303:36Not applicable
X86_microsoft-windows-smss_31bf3856ad364e35_6.0.6002.23131_none_ae8b36202f8d12e8.manifestNot applicable28,58901-Jun-201303:41Not applicable

↑ Back to the top


Keywords: kb, kbautohotfix, kbqfe, kbhotfixserver, kbfix, kbsurveynew, kbexpertiseadvanced

↑ Back to the top

Article Info
Article ID : 2853735
Revision : 1
Created on : 1/7/2017
Published on : 7/10/2013
Exists online : False
Views : 153