MSSQLSERVER_17890MSSQLSERVER_17890

Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions)

СведенияDetails

attributeAttribute ЗначениеValue
Название продуктаProduct Name SQL ServerSQL Server
Идентификатор событияEvent ID 1789017890
Источник событияEvent Source MSSQLSERVERMSSQLSERVER
КомпонентComponent SQLEngineSQLEngine
Символическое имяSymbolic Name SRV_WS_TRIMMEDSRV_WS_TRIMMED
Текст сообщенияMessage Text Значительная часть памяти процессов SQL Server выгружена на диск. Это может привести к снижению производительности.A significant part of SQL Server process memory has been paged out. This may result in a performance degradation. Продолжительность: %d секунд.Duration: %d seconds. Рабочий набор (КБ): %I64d, зафиксировано (КБ): %I64d, использовано памяти: %d %%.Working set (KB): %I64d, committed (KB): %I64d, memory utilization: %d%%.

ПояснениеExplanation

В журнале ошибок SQL ServerSQL Server или в журнале событий приложений Windows может появиться следующее сообщение об ошибке.You might encounter the following error message in the SQL ServerSQL Server error log or the Windows Application event log.

Значительная часть памяти процессов SQL Server выгружена на диск. Это может привести к снижению производительности.A significant part of SQL Server process memory has been paged out. This may result in a performance degradation. Длительность. 0 секунд.Duration: 0 seconds. Рабочий набор (КБ): 3383250, выделено памяти (КБ): 9112480, использование памяти: 37 %.Working set (KB): 3383250, committed (KB): 9112480, memory utilization: 37%.

Кроме того, вы можете заметить внезапное замедление при выполнении запросов и любых других операциях с SQL Server.You might also notice a sudden performance degradation with query execution and all other operations on the SQL Server.

ПричинаCause

SQL ServerSQL Server отслеживает различные сведения о памяти, связанные с процессом SQL ServerSQL Server.monitors the various memories related information about the SQL ServerSQL Server process. В этом случае обнаружено, что рабочий набор процесса занимает менее 50 % от выделенной процессу памяти.In this case, it has detected that the working set of the process is less than 50% of the committed process memory. В результате отображается такое предупреждение.As a result this warning is printed. Типичные причины появления этого предупреждения могут быть следующими:The normal causes of this warning are:

  • Операционная система выгружает в файл подкачки большие части выделенной памяти SQL ServerSQL Server.The operating system pages out large portions of the SQL ServerSQL Server committed memory to the paging file.
  • Это может быть связано с внезапным увеличением потребления памяти другими приложениями или самой операционной системой.This could be due to sudden increased demand for memory from other applications or operating system needs.
  • Это также может произойти, если какие-то драйверы устройств запрашивают выделение непрерывного участка памяти для своих потребностей.This could also happen when certain device drivers request contiguous memory allocations for their needs.

Рекомендуемые действияUser action

Вы можете запретить операционной системе Windows выгружать на диск память буферного пула процесса SQL ServerSQL Server, заблокировав выделенную для этого буферного пула часть физической памяти.You can prevent the Windows operating system from paging out the buffer pool memory of the SQL ServerSQL Server process by locking the memory that is allocated for the buffer pool in physical memory. Чтобы заблокировать память, назначьте право "Блокировка страниц в памяти" учетной записи пользователя, которая используется в качестве стартовой учетной записи для службы SQL ServerSQL Server.You lock the memory by assigning the Lock pages in memory user right to the user account that is used as the startup account of the SQL ServerSQL Server service. Прежде чем воплощать в жизнь это решение, ознакомьтесь с разделами Что приводит к выгрузке на диск памяти SQL Server и "Важные аспекты, которые нужно учесть перед назначением пользователю прав на блокировку страниц в памяти" для экземпляра SQL Server.But before you implement this solution, review the sections What causes SQL Server memory to be paged out and Important considerations before you assign the "Lock pages in memory" user right for an instance of SQL Server

Примечание

Использование блокировки страниц в памяти гарантирует, что управляемая SQL ServerSQL Server память не будет выгружаться на диск. Однако стеки потоков, EXE-файлы и любые библиотеки DLL, память кучи и память CLR могут вытесняться из памяти операционной системой.Using Lock Pages in Memory ensure that the memory managed by SQL ServerSQL Server is not paged out. However, thread stacks, the EXE and any DLL images, heap memory, CLR memory can still be paged out by the OS.

Начиная с SQL ServerSQL Server 2008 с пакетом обновления 1 (SP1) и накопительным обновлением 2, выпуски SQL ServerSQL Server Standard и Enterprise поддерживают применение права пользователя на блокировку страниц в памяти.Starting with SQL ServerSQL Server 2008 SP1 Cumulative Update 2, both SQL ServerSQL Server Standard and Enterprise editions can use the Lock pages in memory user right. Дополнительные сведения о поддержке блокировки страниц см. в статье базы знаний KB970070 — Поддержка заблокированных страниц в системах SQL Server Standard Edition (64-разрядных).For more information about support for locked pages, view KB970070 - Support for Locked Pages on SQL Server Standard Edition (64-bit) systems.

Чтобы назначить право пользователя "Блокировка страниц в памяти", выполните следующие действия:To assign the Lock pages in memory user right, follow these steps:

  1. Нажмите кнопку Пуск, выберите команду Выполнить, введите gpedit.msc и щелкните ОК.Click Start, click Run, type gpedit.msc, and then click OK.
  2. Откроется диалоговое окно "Групповая политика".Note The Group Policy dialog box appears.
  3. Последовательно разверните узлы Конфигурация компьютера и Параметры Windows.Expand Computer Configuration, and then expand Windows Settings.
  4. Разверните узлы Настройки безопасности и Локальные политики.Expand Security Settings, and then expand Local Policies.
  5. Щелкните "Назначение прав пользователя", а затем дважды щелкните Блокировка страниц в памяти.Click User Rights Assignment, and then double-click Lock pages in memory.
  6. В диалоговом окне Параметры локальной политики безопасности щелкните Добавить пользователя или Группа.In the Local Security Policy Setting dialog box, click Add User or Group.
  7. В диалоговом окне Выберите пользователей или Группы добавьте учетную запись, у которой есть разрешение на запуск файла Sqlservr.exe, а затем щелкните ОК.In the Select Users or Groups dialog box, add the account that has permission to run the Sqlservr.exe file, and then click OK.
  8. Закройте диалоговое окно Групповая политика.Close the Group Policy dialog box.
  9. Перезапустите службу SQL ServerSQL Server .Restart the SQL ServerSQL Server service.

После того, как вы назначите пользователю право "Блокировка страниц в памяти" и перезапустите службу SQL ServerSQL Server, операционная система Windows не будет выгружать на диск память буферного пула в процессе SQL ServerSQL Server.After you assign the Lock pages in memory user right and you restart the SQL ServerSQL Server service, the Windows operating system no longer pages out the buffer pool memory within the SQL ServerSQL Server process. Но операционная система Windows сохранит возможность выгружать на диск память процесса SQL ServerSQL Server из небуферного пула.However, the Windows operating system can still page out the nonbuffer pool memory within the SQL ServerSQL Server process.

Чтобы убедиться в использовании этого права пользователя экземпляром SQL ServerSQL Server, проверьте в журнале ошибок SQL ServerSQL Server наличие следующего сообщения при запуске системы: "Для буферного пула используются блокированные страницы."You can validate that the user right is used by the instance of SQL ServerSQL Server by making sure that the following message is written in the SQL ServerSQL Server Error Log at startup: "Using locked pages for buffer pool"

Это сообщение применимо только к SQL Server.This message applies only to SQL Server. Дополнительные сведения об этом сообщении в журнале ошибок см. в следующей статье: Нужно ли присваивать разрешение "Блокировка страниц в памяти" в локальной системе?For more information about this message in the ERRORLOG, visit the following: Do I have to assign the Lock pages for Memory privilege in Local System

Хотя операционная система Windows выгружает на диск память из небуферного пула, все равно могут возникать проблемы с производительностью.When the Windows operating system pages out the nonbuffer pool memory, you may still encounter performance issues. Но при этом в журнале ошибок SQL ServerSQL Server не регистрируются сообщения об ошибках, упомянутые в разделе "Объяснение".However, the error messages that are mentioned in the "Explanation" section are not logged in the SQL ServerSQL Server error log.

Что приводит к выгрузке на диск памяти SQL ServerWhat causes SQL Server memory to be paged out

Существует три основные категории проблем, которые могут вызвать такую проблему.There are three broad categories of problems that can cause this issue:

  • Проблемы, связанные с приложением. Все приложения совокупно исчерпали доступную физическую память, поэтому операционная система вынуждена освободить некоторый объем памяти для новых запросов приложений к ресурсам.Application-Related Issues: All applications together have exhausted the available physical memory and the OS must free some memory for new application requests for resources. Как правило, для устранения этой причины нужно определить, какие именно приложения сильно расходуют память, и предпринять соответствующие шаги для сбалансированного распределения между ними памяти, чтобы не исчерпывать доступный объем ОЗУ.Typically, the approach here is to find what applications are exhausting the memory and take necessary steps to balance the memory among them without leading to RAM exhaustion.
  • Проблемы с драйверами устройств. Драйверы устройств могут вызвать выгрузку на диск памяти всех процессов, если некорректно вызывают функцию выделения памяти.Device Driver Issues: Device Drivers may cause working set paging of all processes if the driver calls a memory allocation function incorrectly.
  • Проблемы с операционной системой.Operation System Issues

Ниже представлены сведения по каждой из этих категорий.Below, you can find information on each of these categories

  • Проблемы, связанные с приложением. Вместе приложения могут исчерпать доступный объем ОЗУ в системе.Application-Related issues: Applications together may consume all of the RAM on the system. При создании новых запросов на выделение памяти операционная система пытается удовлетворить их, а если свободной памяти нет, для ее освобождения она сократит рабочий набор уже выполняемых приложений.If new requests for memory are made, the OS attempts to satisfy them and if there is no free memory, it will trim the working set of running applications to satisfy the memory requests. В таких случаях можно заметить значительное сокращение рабочего набора для всех или многих приложений сразу.In such cases, you may observe that the working set for most if not all applications drop significantly. Чтобы отследить это, реализуйте сбор данных с помощью следующего счетчика Монитора производительности для всех приложений в системе:To observe this, collect the following Performance Monitor counter for all applications on the system:

    • Объект производительности: ПроцессPerformance object: Process
    • Счетчик: Рабочий наборCounter: Working Set

    Кроме того, отслеживайте следующий счетчик для сопоставления объема доступной в системе физической памяти.Also, monitor the following counter to correlate how much physical memory is available on the system.

    • Объект производительности: ПамятьPerformance object: Memory
    • Счетчик: Объем доступной памяти (МБ)Counter: Available Memory (MB)

    Типичное поведение, которое вы можете здесь наблюдать, — это снижение объема доступной памяти почти до 0 МБ с последующим резким снижением значений счетчиков рабочего набора для большинства (или всех) процессов в системе.The typical behavior that you may observe is reduction of Available memory close to 0 MB while at the same time a sudden drop of the Working Set counters for most (all) processes on the system. В такой ситуации следует предпринять какие-то действия для снижения использования памяти в системе, например уменьшить максимальный объем памяти (Max Server Memory) для SQL Server.If you observe such behavior, you may need to take steps to reduce memory usage on the system, which includes for example reducing Max Server Memory for SQL Server.

    Также может оказаться, что приложения слишком активно используют системный кэш, что приводит к увеличению размера системного кэша.Applications may also use the system cache too much, and may cause a large growth of the system cache. В ответ на рост системного кэша операционная система выгружает на диск рабочий набор процесса SQL ServerSQL Server или других приложений.To respond to the growth of the system cache, the system pages out the working set of the SQL ServerSQL Server process or of other applications. При возникновении этой проблемы можно применить некоторые функции управления памятью в приложении.If you experience this problem, you can use some memory management functions in the application. Эти функции управляют пространством системного кэша, которое доступно операциям файлового ввода-вывода в приложении.These functions control the system cache space that file I/O operations can use in the application. Например, функции SetSystemFileCacheSize и GetSystemFileCacheSize можно использовать для управления пространством системного кэша, которое доступно операциям файлового ввода-вывода.For example, you can use the SetSystemFileCacheSize function and the GetSystemFileCacheSize function to control the system cache space that file I/O operations can use.

    Объект производительности "Память" содержит несколько счетчиков, значения которых помогают определить, использует ли рабочий набор системного кэша чрезмерно много памяти.You can use the Memory performance object to view the values of various counters in this object to determine whether the system cache working set uses too much memory. Сюда относятся, например, счетчики "Байт кэш-памяти" и "Резидентных байт системного кэша".For example, you can view the Cache Bytes and System Cache Resident Bytes counters. Дополнительные сведения на эту тему см. в следующих документах:For more information about this topic, see:

    Вы можете скачать и развернуть службу динамического кэша Microsoft Windows, чтобы управлять объемом памяти, потребляемым системным кэшем.You can download and deploy the "Microsoft Windows Dynamic Cache Service" to control the memory that is consumed by the system cache.

  • Проблемы с драйверами устройств. Если драйвер устройства использует функцию MmAllocateContiguousMemory и устанавливает для параметра HighestAcceptableAddress значение менее 4 ГБ, то операционная система Windows может выгрузить на диск рабочий набор любого процесса в системе, включая процесс SQL ServerSQL Server.Device Driver Issues: If a device driver uses the MmAllocateContiguousMemory function, and if it sets the value of the HighestAcceptableAddress parameter to less than 4 gigabytes (GB), the Windows operating system may page out the working set of the processes on the system including SQL ServerSQL Server process. Чтобы устранить эту проблему, обратитесь к поставщику драйвера устройства за обновлением драйвера.To resolve this problem, contact the vendor of the device driver for driver updates.

    Когда драйвер устройства пытается выделить память, операционная система Windows может выгружать на диск рабочие наборы других приложений.When a device driver tries to allocate memory, the Windows operating system may page out the working set of other applications. Это исправление для Windows позволяет с помощью трассировки событий найти проблемный драйвер устройства.This Windows hotfix lets you use event tracing to find the device driver that causes problem. Дополнительные сведения о поиске драйвера, который вызывает сокращение рабочего набора, см. в статье Определение драйверов, выделяющих непрерывную память.To find more information about the specific driver that causes the working set trimming behavior, see Identifying Drivers That Allocate Contiguous Memory.

  • Проблемы операционной системы. Чтобы устранить некоторые известные проблемы, из-за которых операционная система Windows выгружает на диск рабочий набор процесса SQL ServerSQL Server, примените исправления, описанные в приведенных ниже статьях базы знаний Майкрософт.Operating System Issues: To resolve the known issues that cause the Windows operating system to page out the working set of the SQL ServerSQL Server process, apply the hotfixes that are described in the following Microsoft Knowledge Base articles.

    Примечание

    Все эти исправления являются накопительными.Hotfixes are cumulative. Более поздние версии исправления содержат все более ранние версии того же исправления.A later version of a hotfix contains the earlier versions of that hotfix.

Важные аспекты, которые нужно учесть перед назначением пользователю прав на блокировку страниц в памятиImportant considerations before you assign the "Lock pages in memory" user right

Прежде чем назначить пользователю право "Блокировка страниц в памяти", необходимо учесть дополнительные рекомендации.You should make additional considerations before you assign the Lock pages in memory user right. Если назначить это право пользователя в неправильно настроенных системах, они могут стать нестабильными или существенно снизится их производительность.If you assign this user right on systems that are configured incorrectly, the system may become unstable or experience a performance decrease of the whole system. Кроме того, в журнале событий начнет появляться событие с идентификатором 333.Additionally, event ID 333 may be logged in the event log.

Если вы обратитесь в службу поддержки пользователей Майкрософт (CSS) с жалобой на эту проблему, инженеры CSS могут предложить вам отозвать это право пользователя для учетной записи, которая используется в качестве стартовой учетной записи для службы SQL ServerSQL Server.If you contact Microsoft Customer Support Service (CSS) for these problems, CSS engineers may ask you to revoke this user right for the user account that is used as the startup account of the SQL ServerSQL Server service. Этот шаг иногда требуется для получения важных данных о производительности, которые помогут инженерам CSS найти правильную конфигурацию параметров SQL ServerSQL Server и других приложений, работающих в системе.This step may be necessary to collect important performance data that CSS engineers can use for necessary configuration of the various options for SQL ServerSQL Server and for other applications that are running on the system. Когда инженеры CSS завершат сбор данных о производительности, вы сможете снова назначить право "Блокировка страниц в памяти" стартовой учетной записи для службы SQL ServerSQL Server.After CSS engineers collect the performance data, you can assign the Lock pages in memory user right to the startup account of the SQL ServerSQL Server service.

Прежде чем присвоить право пользователя "Блокировка страниц в памяти", включите сбор данных для журнала Монитора производительности, чтобы оценить требования к памяти для приложений и служб, установленных в системе.Before you assign the Lock pages in memory user right, make sure that you capture a Performance Monitor log to determine the memory requirements of various applications and services that are installed on the system. К этим приложениям относится и SQL Server.These applications also include SQL Server. Чтобы определить требования к памяти, собирайте следующие базовые сведения.To determine the memory requirements, collect the following baseline information:

  • Убедитесь, что параметры максимального и минимального объема памяти сервера настроены правильно.Make sure that you set the max server memory option and the min server memory option correctly. Эти параметры отражают требования к памяти только для буферного пула процесса SQL ServerSQL Server.These options reflect only the memory requirement of the buffer pool of the SQL ServerSQL Server process. В них не включается память, выделяемая для других компонентов в процессе SQL ServerSQL Server.These options do not include the memory that is allocated for other components within the SQL ServerSQL Server process. К этим компонентам относятся:These components include the following:

    • рабочие потоки SQL ServerSQL Server;The SQL ServerSQL Server worker threads
    • библиотеки DLL и компоненты, которые процесс SQL ServerSQL Server загружает в адресное пространство процесса SQL ServerSQL Server;Various DLLs and components that the SQL ServerSQL Server process loads within the address space of the SQL ServerSQL Server process
    • операции резервного копирования и восстановления.The Backup and restore operations
  • К библиотекам DLL и компонентам относятся всевозможные поставщики OLE DB, расширенные хранимые процедуры, объекты Microsoft COM для хранимой процедуры sp_OACreate, связанных серверов и среды CLR SQL ServerSQL Server.The DLLs and components include various OLE DB providers, extended stored procedures, Microsoft COM objects that are used for the sp_OACreate stored procedure, linked servers, and SQL ServerSQL Server CLR. Выделяемая для этих компонентов память помещается в область из небуферного пула, из адресного пространства процесса SQL ServerSQL Server.Memory that is allocated for these components falls under the nonbuffer pool region of the address space of the SQL ServerSQL Server process. Чтобы правильно определить максимальный общий объем памяти, который может использовать процесс SQL ServerSQL Server, необходимо вычесть выделенную для компонентов память небуферного пула из общего объема памяти, который должен использовать процесс SQL ServerSQL Server.To ideally determine the maximum amount of memory that the whole SQL ServerSQL Server process can use, you must subtract the memory that is allocated for components that do not use the buffer pool from the total memory that you want the SQL ServerSQL Server process to use. Полученное значение остатка следует указать как значение параметра максимального объема памяти сервера.Then, you can use the remainder value to set the max server memory option. Прежде чем настраивать параметры максимального и минимального объема памяти сервера, внимательно изучите раздел "Настройка параметров памяти вручную" в электронной документации по SQL ServerSQL Server.Before you set the max server memory option and the min server memory option, you should carefully review the "Setting the memory options manually" topic in SQL ServerSQL Server Books Online.

  • Определите требования к памяти для других приложений и компонентов операционной системы Windows.Determine the memory requirement of other applications and of the Windows operating system components. Приложения могут содержать дополнительные компоненты SQL ServerSQL Server, например агент SQL ServerSQL Server, агенты репликации SQL ServerSQL Server, SQL ServerSQL Server Reporting Services, SQL ServerSQL Server Analysis Services, SQL ServerSQL Server Integration Services и полнотекстовый поиск SQL ServerSQL Server.Applications may include other SQL ServerSQL Server components, for example, SQL ServerSQL Server Agent, SQL ServerSQL Server Replication Agents, SQL ServerSQL Server Reporting Services, SQL ServerSQL Server Analysis Services, SQL ServerSQL Server Integration Services, and SQL ServerSQL Server Full Text Search. Приложения, которые выполняют операции резервного копирования и копирования файлов, могут использовать большой объем памяти.Applications that perform Backup operations and file copy operations may use lots of memories. Оцените такие операции, как массовое копирование и действия агента моментальных снимков, которые создают значительную нагрузку файлового ввода и вывода.Consider operations such as bulk copy and the Snapshot Agent that generate file IO. Требования к памяти для всех этих приложений необходимо учитывать при определении значений параметров максимального и минимального объема памяти сервера.You must consider the memory requirement of all these applications when you determine the value of the max server memory option and of the min server memory option. Чтобы определить требования к памяти для каждого процесса, можно использовать счетчики Private Bytes и Working Set из объекта Process для конкретного процесса.You can use the Private Bytes counter and the Working Set counter under the Process object for every process to determine the memory requirement for a specific process.

  • По умолчанию право "Блокировка страниц в памяти" уже назначено встроенной учетной записи Local System.By default, the Lock pages in memory user right have already been assigned to the built-in Local System account. Дополнительные сведения см. в следующем разделе веб-сайта Майкрософт: Нужно ли присваивать разрешение "Блокировка страниц в памяти" в локальной системе?For more information, visit the following Microsoft Web site: Do I have to assign the Lock pages in Memory privilege for Local system?

  • Если одна учетная запись пользователя Windows используется глобально для всех процессов SQL ServerSQL Server в домене, определите права пользователя, предоставленные ей групповой политикой.If you use a Windows user account globally for all SQL ServerSQL Server processes in a domain, determine the user rights that are assigned by using a Group Policy configuration. 32-разрядный процесс SQL ServerSQL Server может использовать эту учетную запись в качестве стартовой учетной записи.A 32-bit SQL ServerSQL Server process may use this account as the startup account. Но этой учетной записи право пользователя "Блокировка страниц в памяти" требуется для использования функции Address Windowing Extensions (AWE).However, this account requires the Lock pages in memory user right to enable the Address Windowing Extensions (AWE) feature. Дополнительные сведения см. в разделе "Выделение максимального объема памяти для SQL Server" электронной документации по SQL ServerSQL Server.For more information, see the "Providing the maximum amount of memory to SQL Server" topic in SQL ServerSQL Server Books Online.

  • Прежде чем настраивать параметры максимального и минимального объема памяти сервера для нескольких экземпляров SQL ServerSQL Server, изучите требования к памяти небуферного пула для каждого экземпляра SQL Server.Before you configure the max server memory option and the min server memory option for multiple SQL ServerSQL Server instances, consider the memory requirements of the nonbuffer pool for each instance of SQL Server. Затем настройте эти параметры для каждого экземпляра SQL Server.Then, configure these options for each instance of SQL Server.

В идеале базовые сведения следует собирать во время пиковых нагрузок.Ideally, you collect this baseline information during peak loads. Это позволит определить требования к памяти для различных приложений и компонентов, соответствующую максимальной загрузке системы.Therefore, you can determine the memory requirements for various applications and components to support the peak load. Требования к памяти могут быть разными для разных систем в зависимости от выполняемых действий и приложений.The memory requirements vary from one system to another system, depending on the activities and the applications that are running on the system. Вы можете запросить сведения, предоставленные в динамическом административном представлении sys.dm_os_process_memory, чтобы определить, сталкивается ли система с нехваткой памяти.You can query the information that is provided in the dynamic management view sys.dm_os_process_memory to understand whether the system is encountering low memory conditions. Дополнительные сведения см. в статье sys.dm_os_process_memory (Transact-SQL).For more information, see sys.dm_os_process_memory (Transact-SQL).

Улучшения, добавленные в версии Windows Server 2008 и R2Improvements added in Windows Server 2008 and R2 version

В Windows Server 2008 и Windows Server 2008 R2 улучшен механизм выделения непрерывной памяти.Windows Server 2008 and Windows Server 2008 R2 improve the contiguous memory allocation mechanism. Это улучшение позволяет Windows Server 2008 и Windows Server 2008 R2 до определенной степени сократить число проблем с выгрузкой на диск рабочего множества приложений при поступлении новых запросов на выделение памяти.This improvement lets Windows Server 2008 and Windows Server 2008 R2 reduce to a certain extent the effects of paging out the working set of applications when new memory requests arrive.

Ниже приведено пояснение к этим улучшениям, которое содержится в техническом документе Майкрософт "Усовершенствование управления памятью в Windows".The following is an explanation of the improvements from the Microsoft whitepaper "Advances in Memory Management in Windows":

В Windows Server 2008 существенно улучшено выделение непрерывной физической памяти. Запросы на выделение непрерывной памяти гораздо чаще будут выполняться успешно, так как диспетчер памяти теперь динамически заменяет страницы, обычно без усечения рабочего набора и операций ввода-вывода. Кроме того, теперь намного больше типов страниц (например, стеки ядра и страницы метаданных файловой системы) назначаются кандидатами на замену. Следовательно, в любой момент времени доступно больше непрерывной памяти. Кроме того, значительно сокращаются затраты на получение таких выделений.In Windows Server 2008, the allocation of physically contiguous memory is greatly enhanced. Requests to allocate contiguous memory are much more likely to succeed because the memory manager now dynamically replaces pages, typically without trimming the working set or performing I/O operations. In addition, many more types of pages—such as kernel stacks and file system metadata pages, among others—are now candidates for replacement. Consequently, more contiguous memory is generally available at any given time. In addition, the cost to obtain such allocations is greatly reduced.

Дополнительные сведения см. в статье Проблемы SQL Server с усечением рабочего набора.For more information, view SQL Server Working Set Trim Problems.

Продукты сторонних производителей, обсуждаемые в этой статье, разрабатываются компаниями, независимыми от корпорации Майкрософт.The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Корпорация Майкрософт не дает никаких гарантий, явных или подразумеваемых, относительно производительности или надежности таких продуктов.Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.