DA0017. Высокая скорость подкачки активной памяти на диск

Элемент Значение
Идентификатор правила DA0017
Категория Память и подкачка
Способ профилирования Все
Сообщение Возникла высокая частота постраничного просмотра памяти на диске. Возможно, память вашего приложения ограничена.
Тип правила Сведения

При профилировании с помощью выборки, памяти .NET или методов разрешения конфликтов ресурсов необходимо собрать минимум 10 выборок, чтобы активировать это правило.

Причина:

Данные о производительности системы, собранные в ходе сеанса профилирования, указывают на высокую частоту подкачки активной памяти на диск и с него на протяжении сеанса профилирования. Частота подкачки на этом уровне обычно влияет на производительность и скорость реагирования приложения. Рекомендуется сократить объем выделяемой памяти, изменив алгоритмы. Кроме того, возможно, потребуется учесть требования приложения к памяти.

Описание правила

Примечание

Это информационное правило применяется, когда подкачка активной памяти достигает значительного уровня. При возникновении очень высокого уровня подкачки вместо него срабатывает правило предупреждения DA0014. Исключительно высокая скорость подкачки активной памяти на диск.

Чрезмерная частота подкачки на диск может быть вызвана нехваткой физической памяти. Если операции подкачки начинают преобладать на физическом диске, где находится файл подкачки, они могут замедлить другие операции приложений на том же диске.

Страницы часто считываются с диска или записываются на диск во время выполнения массовых операций подкачки. Например, если значение "Вывод страниц/сек" намного превышает значение "Операций вывода страниц/сек". Это связано с тем, что значение "Вывод страниц/сек" также включает измененные страницы данных из кэша файловой системы. Однако не всегда легко определить, какой процесс непосредственно вызывает подкачку и почему.

Устранение нарушений

Дважды щелкните сообщение в окне "Список ошибок", чтобы перейти к представлению Метки. Найдите столбец Память/страниц в секунду. Определите, есть ли такие этапы выполнения программы, когда число операций ввода-вывода подкачки больше, чем на других этапах.

При сборе данных профилирования для приложения ASP.NET в сценарии нагрузочного тестирования попробуйте снова выполнить нагрузочный тест на компьютере, оснащенном дополнительным объемом физической памяти (ОЗУ).

Рекомендуется сократить объем выделяемой памяти, изменив алгоритмы и избегая использования ресурсоемких API, таких как String.Concat и String.Substring.