Когда системе не хватает свободной оперативной памяти, увеличивается объем данных, выгружаемых на диск в файл подкачки. Обычно, когда диск выступает в качестве узкого места, работа с памятью замедляется.
Многие пользователи делают вывод, что причиной падения производительности подкачки является недостаток оперативной памяти. Если медленный жесткий диск подозревается в замедлении работы с памятью, подозрения можно подтвердить с помощью запуска утилиты pfmon. Команда pfmon позволяет:
- Определить количество ошибок обращения к странице для процесса
- Определить источник ошибок обращения к страницам для процесса
Кроме проверки жестких ошибок обращения к страницам утилита pfmon позволяет подсчитать количество страниц, которые уже исключены из рабочего пространства, но еще не были выгружены на диск. Жесткие ошибки обращения к страницам возникают, когда процесс обращается к странице и оказывается, что страница уже выгружена в файл подкачки на жестком диске. Иногда страница, необходимая процессу, уже оказывается за пределами рабочего набора, но все еще не выгружена на диск.
Случаи, когда страница остается в памяти, но выходит за пределы рабочего набора, не должны волновать администратора, который пытается увеличить быстродействие системы. При использовании этой команды необходимо особое внимание обратить на количество жестких ошибок обращения к страницам так как увеличение этого параметра явно указывает необходимость добавления оперативной памяти.
При запуске программа pfmon подключается к процессу и отображает все ошибки обращения к страницам, которые возникают при работе процесса. Программа выполняется, пока не получит команду к завершению работы в виде нажатия комбинации клавиш <Ctrl+C>. Вместо отображения информации на экране команда может выводить данные в файл для последующего анализа.
Вот синтаксис команды pfmon:
pfmon <[/p <PID> ] | [Команда_приложения]> [/n] [/c] [/h] [/k] [/K] [/d]
Параметры команды представлены в следующей таблице.
Параметры команды pfmon
Параметр |
Использование |
/p <PID> |
Указывает идентификатор процесса, за которым необходимо наблюдать (процесс выполняющийся в данный момент). Идентификатор процесса можно получить на вкладке Процессы (Processes) в окне Диспетчера задач (Task Manager). После завершения работы команды pfmin процесс, к которому подключилась утилита, тоже завершает свою руботу. |
Êîìàíäà_ïðèëîæåíèÿ |
Используется для указания полного пути к файлу приложения (например, d:\Program Files\Doom\Doom.exe). Если указать команду для запуска прилжоения, то нельзя использовать параметр /p для указания идентификатора процесса. |
/n |
Ошибки записываются в файл pfmon.log (который находится в текущем каталоге на момент запуска утилиты pfmon) и не отображаются на экране |
/l |
Ошибки записываются в файл и выводятся на экран |
/c |
Отображает мягкие ошибки обращения к страницам и итоговую информацию. Жесткие ошибки обращения к страницам не отображаются. |
/h |
Отображает жесткие ошибки обращения к страницам и итоговую информацию. Мягкие ошибки обращения к страницам не отображаются. |
/k |
Отображает ошибки обращения к страницам для режима пользователя и режима ядра |
/K |
Отображает ошибки обращения к памяти только для режима ядра |
/d |
Приводит к отображению следующей информации с разделением табуляцией:
|
Вот два примера использования команды pfmon для подсчета страниц, выгруженных на диск:
Для проверки ошибок обращения к страницам, которые возникают у работающего процесса с идентификатором 2348 и записи результатов в файл pfmon.log, выполните такую команду:
pfmon /p 2348 /h /l
Чтобы вызвать программу mspaint.exe и обеспечить контроль за ошибок обращения к страницам:
pfmon mspaint /h
Может оказаться, что утилита pfmon сообщает намного больше информации об ошибках обращения к страницам, чем когда-либо хотелось вам знать. Если необходимо подсчитать количество ошибок обращения к страницам для конкретной системы, то лучшим выбором будет использование программы Системный монитор (System Monitor).