Поделиться через


Служба SuperFetch(SysMain) пикирует ЦП в течение 1–2 минут, когда 64-разрядное приложение работает в Windows

В этой статье описывается проблема, из-за которой система испытывает пик ЦП в течение 1–2 минут, когда 64-разрядное приложение выполняется в 64-разрядной версии Windows.

Область применения: Windows 7 с пакетом обновления 1 (SP1)
Исходный номер базы знаний: 2723033

Симптомы

Если 64-разрядное приложение, скомпилированное с параметром /LARGEADDRESSAWARE:NO, выполняется в 64-разрядных версиях Windows, система может столкнуться с пиком ЦП в течение 1–2 минут, и это происходит определенно. В этой ситуации диспетчер задач показывает, что svchost.exe процесс размещения службы SysMain(SuperFetch) использует использование ЦП.

Причина

Windows создает дескриптор виртуального адреса только для чтения (VAD) для адресного пространства выше 2 ГБ при создании процесса. SuperFetch при сканировании дерева VAD выполняемого процесса сталкивается с VAD и спинами с огромным размером VAD, что приводит к всплеску ЦП.

Обходное решение

Чтобы обойти эту проблему, избегайте параметра /LARGEADDRESSAWARE:NO при компиляции приложений.

Примечание.

По умолчанию 64-разрядное приложение использует расширенное адресное пространство (8 терабайт на процесс).