Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Windows XP1.doc
Скачиваний:
9
Добавлен:
13.08.2013
Размер:
1.01 Mб
Скачать
    1. Отслеживание использования памяти

Самая частая причина замедления работы системы под управлением Windows — заполнение физической памяти. При этом Windows начинает так называемую «подкачку» (paging) — перемещение блоков кода и данных программ (каждый такой блок называется страницей — page) из физической памяти на жесткий диск. Обращение к файлу подкачки время от времени — нормальное явление, не ухудшающее производительность системы, но частые запросы данных из файла на диске могут заметно снизить общую скорость работы системы. Эта проблема становится особенно заметной при переключении между несколькими програм­мами, активно использующими память, на компьютере, который не содержит до­статочного количества физической памяти. В результате диск почти постоянно находится в работе, потому что система пытается «перекачать» данные с него в память и обратно.

Самый быстрый способ получить информацию об использовании памяти в дан­ный момент — запустить Диспетчер задач Windows и взглянуть на строку состоя­ния внизу любой вкладки. Статистика использования памяти приведена в пра­вой части вкладки в виде двух чисел, а точнее дроби. Первое число (числитель) представляет собой текущий объем выделенной памяти — количество физиче­ской и виртуальной памяти, используемой всеми выполняемыми процессами. (Виртуальная память, собственно, и есть файл подкачки.) Знаменатель — общее количество доступной памяти (физической и виртуальной). Само по себе это число способно лишь предупредить о том, что память скоро закончится совсем, — другими словами, выделенная память примерно совпадает с доступной.

Для того чтобы узнать об использовании памяти подробнее, переключитесь на вкладку Быстродействие и взгляните на таблицы в нижней части диалогового окна. Учтите: числа и подписи к ним могут означать абсолютно не то, что подумали. Они способны ввести в заблуждение даже эксперта по Windows и запутать его, сделать неверные выводы. В таблице 2.1 рассказывается о том, как можно использовать эти данные для ответов на наиболее типичные вопросы об исполь­зовании памяти.

Таблица 2.1 - Расшифровка данных Диспетчера задач

Категория

Значение

Смысл

1

2

3

Всего (Totals)

Дескрипторов

(Handles)

Уникальные идентификаторы, позволяющие программам обращаться к системным ресурсам, таким как файлы, ключи реестра, шрифты и растровые изображения. Теоретически это значение может использоваться для выявления программ, не освобождающих системные ресурсы после завершения работы. На практике оно оказывается полезным в основном для разработчиков, использующих специализированные средства отладки для выявления утечек памяти в приложениях

Потоков

(Threads)

Поток — объект внутри процесса, выполняющий инструкции программы. Многопоточные программы могут делать несколько операций одновременно. Как и предыдущее, это значение полезно в основном для разработчиков программ в процессе тестирования приложений

Процессов

(Processes)

Общее количество процессов (программ, подсистем и служб), инициированных всеми пользователями данного компьютера

Выделение памяти

(Commit Charge)

Всего (Total)

Общее количество физической и виртуальной памяти, занимаемой операционной системой и всеми программами в настоящий момент.

Это значение также отображается в нижнем правом углу окна Диспетчера задач. Выделение памяти растет по мере открытия программ и файлов данных и должно уменьшаться при их закрытии

Предел (Limit)

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

Продолжение Таблицы 2.1

1

2

3

Пик (Peak)

Максимальное общее количество памяти, использовавшееся на протяжении текущего сеанса (в килобайтах). Если это значение часто оказывается близким или равным Пределу, в систему нужно нарастить память

Физическая память

(Physical memory)

Всего (Total)

Полное количество физической памяти данного компьютера (в килобайтах). Поделите на 1024, чтобы перевести это значение в мегабайты

Доступно

(Available)

Общий объем физической памяти (в килобайтах), который будет выделен выполняемым программам прежде, чем начнется обмен данными с файлом подкачки. Windows всегда старается зарезервировать некоторое количество памяти для новых приложений, даже если оно превышает количество установленной физической

Системный кэш

(System Cache)

Общее количество физической памяти (в килобайтах), используемое для хранения часто вызываемых программ и данных. Windows пытается отвести под системный кэш как можно больше памяти, но при необходимости будет уменьшать объем кэша для предоставления программам и функциям операционной системы свободной памяти

Память ядра

(Kernel Memory)

Всего (Total)

Полный объем оперативной памяти (в килобайтах), занимаемый основными компонентами операционной системы (включая драйверы)

Выгружаемая

(Paged)

Объем памяти (в килобайтах), используемой основными компонентами Windows и отображенной на страницы в виртуальной памяти

Невыгружаемая (Nonpaged)

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

Когда система начинает замедлять работу и подозреваете, что дело в памяти, быстрая проверка вкладки Быстродействие может дать вам полезные сведения. Если общий размер выделенной памяти превышает общий объем физической памяти, Windows приходится «перекачивать» страницы между быстрой оперативной памятью и гораздо более медленной виртуальной памятью в файле подкачки, что приводит к замедлению скорости системы. На рисунке 2.3 показан пример компьютера, не отвечающего минимальным требованиям Microsoft. Его производительность весьма низка, как ясно показывают приведенные на рисунке числа.

В этом примере выделено 171 896 Кбайт памяти (около 171 Мбайт), что в несколько раз превышает физическую память компьютера (32 240 Кбайт или 32 Мбайт). В такой конфигурации многие программы и данные будут вызываться операционной системой из виртуальной памяти и обращение к файлу подкачки будет происходить каждый раз при переключении между приложениями.

Рисунок 2.3 - Объем выделенной памяти не должен значительно превышать объем физической

Несмотря на одновременную работу множества процессов, на компьютере с 1 Гбайт RAM меньше четверти общего объема оперативной памяти может быть затребовано под данные и программы. Свободная память не пропадает в бездей­ствии, потому что Windows отводит значительную ее часть под кэширование за­груженных ранее программ и файлов данных. При этом значительно возрастает скорость работы с компьютером. Когда запускаете программу или загружаете файл, Windows проверяет наличие требуемого файла в кэше; если он там есть, загрузка происходит за ничтожную долю того времени, которое требуется на за­грузку такого же файла с диска. Операция, которая могла бы занять 8-10 секунд при обращении к диску, может выполниться за 2-3 секунды, если все требуемые файлы уже находятся в кэше.

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

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

Неудивительно, что лучшее решение проблем с производительностью — добав­ление памяти. Можно, конечно, избавиться от постоянных обращений к файлу подкачки, закрыв несколько приложений. Чтобы выяснить, какие программы используют больше всего памяти, откройте Диспетчер задач, перейдите на вклад­ку Процессы и дважды щелкните на заголовке колонки Память (Me musage), что­бы отсортировать список в порядке убывания. При этом процессы, задействующие больше всего памяти, окажутся наверху списка, как показано на рисунке 2.4.

Список выполняемых программ и процессов особенно полезен в том случае, если собираетесь запустить требовательную к памяти программу на компью­тере, практически лишенном свободной оперативной памяти. Закрыв ненужные приложения, почти всегда сможете «выиграть» достаточно памяти, чтобы из­бежать замедления работы из-за обращений к файлу подкачки.

Рисунок 2.4 - Сортировка списка процессов по использованию памяти