OSys.ru - операционные системы
OSys.ru - operating systems
операционные системы
доставка цветов, цветы с доставкой по Москве
 Главная   Форум   О проекте   Авторство   Добавить материал   Участие в развитии проекта   Карта сайта  В избранное   Контакт 
ВВЕДЕНИЕ
  • Понятие операционной системы
  • История создания и развития операционных систем
  • Разновидности современных операционных систем
  • Конкурентная борьба современных операционных систем
  • ВЫЧИСЛИТЕЛЬНЫЕ И ОПЕРАЦИОННЫЕ СИСТЕМЫ
  • Вычислительная система и ее ресурсы
  • Виды вычислительных систем
  • Режимы работы вычислительных систем
  • Характеристики операционных систем
  • ОПЕРАЦИОННАЯ СИСТЕМА DOS
  • История создания и развития операционной системы DOS
  • Структура DOS
  • Файловая система DOS
  • Управление оперативной памятью
  • Процедура установки DOS
  • Конфигурирование DOS
  • Прикладные программы в среде DOS
  • ГРАФИЧЕСКАЯ ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS 3.1.
  • История и основные предпосылки появления Windows
  • Основные сведения о системе Windows 3.1
  • ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS 98
  • История создания, особенности и отличия Windows 98
  • ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS NT
  • История Windows NT
  • Основные сведения о Windows NT
  • Архитектура Windows NT
  • Файловые системы Windows
  • Система безопасности Windows NT
  • Оптимизация работы Windows NT
  • Развитие операционных систем семейства Windows
  • ОПЕРАЦИОННЫЕ СИСТЕМЫ СЕМЕЙСТВА UNIX
  • История и общая характеристика семейства операционных систем UNIX
  • ОПЕРАЦИОННАЯ СИСТЕМА OS/2
  • История развития операционной системы OS/2
  • ДРУГОЕ
  •  Поиск
  •  Наш форум
  •  Карта сайта
  •  Обратная связь
  •  Купить рекламу



  • ОПТИМИЗАЦИЯ РАБОТЫ WINDOWS NT


    1. Выявление узких мест (bottleneck)
    2. Performance Monitor
    3. Task Manager
    4. Выявление узких мест, связанных с работой памяти


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

    Windows NT 4.0 имеет систему виртуальной памяти, объединяющую физическую память, кэш файловой системы и жесткий диск в гибкую систему. Система позволяет хранить код и данные программ на диске, а затем перемещать их в физическую память по мере надобности. Код и данные, которые в данный момент не используются, могут быть выгружены на диск. Таким образом, процессы получают дополнительные преимущества при использовании комбинации дискового пространства и физической памяти. Если на компьютере ощущается нехватка физической памяти, это приводит к частым операциям записи данных на диск и их повторного извлечения. Это процесс протекает медленно, интенсивно потребляет ресурсы и может стать одним из узких мест системы.

    Наилучшим индикатором, указывающим на существование узкого места, связанного с памятью, является частота возникновения аппаратных прерываний типа "ошибка страницы" (hard page fault). Аппаратные прерывания типа "ошибка страницы" возникают тогда, когда данные, необходимые программе, не могут быть найдены в ее рабочем наборе (working set), под которым подразумевается физическая память, видимая для программы, или где-либо еще в физической памяти. В этой ситуации данные должны извлекаться с жесткого диска. Частота возникновения аппаратных прерываний типа "ошибка страницы", устойчиво сохраняющаяся на одном уровне (более 5 раз в секунду), свидетельствует о существовании узкого места системы, связанного с работой памяти. Частоту возникновения аппаратных прерываний типа "ошибка страницы", а также другие показатели производительности работы с памятью следует ежедневно отслеживать и регистрировать в журнале.

    Windows NT 4.0 использует плоскую 32-разрядную линейную модель памяти. Это означает, что каждая программа может просматривать 32-разрядное адресное пространство, т. е. способна адресовать 4 Gb виртуальной памяти. Верхняя половина пространства виртуальных адресов памяти зарезервирована для кода операционной системы и данных, которые становятся видимыми процессам, когда они работают в привилегированном режиме. Нижняя половина пространства виртуальных адресов доступна программе, когда она работает в режиме пользователя, а также вызываемым этой программой системным сервисам, работающим в непривилегированном режиме.

    Диспетчер виртуальной памяти Windows NT (Windows NT Virtual Memory Manager, VMM) управляет процессами выделения памяти, ее резервирования, освобождения и подкачки. В своей работе этот компонент реализует сложную стратегию учета требований к коду и данным процесса, чтобы минимизировать доступ к диску.

    Код и данные в физической памяти подразделяются на единицы, называемые страницами (pages). Размер страницы памяти варьируется для различных процессорных платформ. Размер страницы для таких процессоров, как MIPS, Intel и PowerPC составляет 4096 б. DEC Alpha использует страницы размером 8192 б.

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

    Прерывание типа "ошибка страницы" (page fault) возникает в том случае, когда запрошенная программой страница кода или данных не находится в ее рабочем наборе (working set), который представляет собой область физической памяти, видимой для данной программы.

    Прерывания типа "ошибка страницы" бывают двух типов:

    - Аппаратные прерывания типа "ошибка страницы" возникают в ситуации, когда запрошенная страница памяти должна быть извлечена с диска

    - Программные прерывания типа "ошибка страницы" возникают, когда запрошенная страница найдена где-либо в другой области физической памяти, за пределами рабочего набора программы.

    Диспетчер виртуальной памяти (VMM) может быстро и относительно легко удовлетворить программные прерывания типа "ошибка страницы". Что касается аппаратных прерываний типа "ошибка страницы", то они приводят к подкачке, которая снижает производительность системы.

    Когда процесс использует код или данные, находящиеся в физической памяти, система резервирует место для этой страницы в файле подкачки Pagefile.sys на диске. Это делается с расчетом на тот случай, если данные потребуется выгрузить на диск. Файл Pagefile.sys представляет собой зарезервированный блок дискового пространства, который используется для выгрузки страниц, помеченных как "грязные" при необходимости освобождения физической памяти. Этот файл может быть как непрерывным, так и фрагментированным. Размер этого файла ограничивает объем данных, которые могут храниться в памяти. По умолчанию, размер файла подкачки устанавливается равным объему физической памяти плюс 12 Мб, однако пользователь имеет возможность изменить его размер по своему усмотрению. Проблема нехватки виртуальной памяти часто может быть решена за счет увеличения размера файла подкачки.

    В системах Windows NT 4.0 Workstation и Server объекты, создаваемые и используемые приложениями и операционной системой, хранятся в так называемых пулах памяти (memory pools). Доступ к этим пулам может быть получен только в привилегированном режиме работы процессора, в котором работают компоненты операционной системы. Поэтому для того, чтобы объекты, хранящиеся в пулах, стали видимы нитям приложений, эти нити должны переключиться в привилегированный режим.

    Перемещаемый или нерезидентный пул (paged pool) содержит объекты, которые могут быть при необходимости выгружены на диск.

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

    Исходный размер пулов определяется объемом физической памяти, доступной Windows NT. Впоследствии размер пула устанавливается динамически и в зависимости от работающих в системе приложений изменяется в широком диапазоне.

    Вся виртуальная память в Windows NT подразделяется на классы: зарезервированную (reserved), выделенную (committed) и доступную (available).

    Зарезервированная память (reserved memory) представляет собой набор непрерывных адресов, которые Диспетчер виртуальной памяти (VMM) выделяет для процесса, но не учитывает в общей квоте памяти процесса до тех пор, пока она не будет фактически использована. Когда процессу требуется выполнить запись в память, ему выделяется нужный объем из зарезервированной памяти. Если процессу потребуется больший объем памяти, то дополнительная память может быть одновременно зарезервирована и использована, если в системе имеется доступная память.

    Память выделена (committed), если Диспетчер виртуальной памяти резервирует для нее место в файле Pagefile.sys на тот случай, когда потребуется выгрузить содержимое памяти на диск. Объем выделенной памяти процесса характеризует фактически потребляемый им объем памяти.

    Выделенная память ограничивается размером файла подкачки. Предельный объем выделенной памяти в системе (commit limit) определяется тем, какой объем памяти можно выделить процессам без увеличения размеров файла подкачки. Если в системе имеется достаточный объем дискового пространства, то файл подкачки может быть увеличен, и тем самым будет расширен предельный объем выделенной памяти.

    Вся память, которая не является ни выделенной, ни зарезервированной, является доступной (available). В ее число входит свободная память, обнуленная память (освобожденная и заполненная нулями), а также память, находящаяся в списке ожидания (standby list), которая была удалена из рабочего набора процесса, но может быть затребована вновь.

    Подкачка вызывает не только интенсивное чтение с диска, она требует и записи на диск. Когда Диспетчер виртуальной памяти обнаруживает страницу, вызвавшую прерывание page fault, то если в системе имеется доступная память, он просто добавляет извлеченные страницы в рабочий набор процесса. Когда памяти недостаточно, для добавления извлеченных страниц в рабочем наборе необходимо освободить место, удалив из него количество страниц, соответствующее количеству извлеченных. Если данные удаляемых страниц претерпели изменения. Диспетчер виртуальной памяти должен записать их на диск прежде, чем будет освобожден страничный фрейм. Если среди удаляемых из рабочего набора страниц много измененных страниц с данными, активность записи на диск может оказаться весьма значительной. Измерить ее можно с помощью Performance Monitor.

    Если написанное вами приложение генерирует прерывания page fault, приводящие к интенсивной записи на диск, то вероятнее всего, эти страницы представляют собой страницы данных, а не кода. Реорганизация структур данных вашего приложения и методов, с помощью которых оно ссылается на эти структуры, может снизить интенсивность генерации прерываний page fault.

    При исследовании проблем, вызванных нехваткой памяти, полезно наблюдать файл подкачки Pagefile.sy В системах с относительно малым объемом памяти повышение потребности в памяти вызывает увеличение размера файла Pagefile.sys.

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

    Если в системе возрастает интенсивность аппаратных прерываний page fault, следует изучить использование памяти приложениями с помощью утилиты Performance Monitor. В первую очередь необходимо выявить различия между общей нехваткой памяти, которая влияет на все приложения, и нехваткой памяти, которая вызвана некорректной работой какого-либо одного приложения.

    При использовании материалов, ссылка на http://osys.ru/ обязательна!
    Copyright ©


    ПОИСК на сайте:


    ОБСУЖДЕНИЕ НА ФОРУМЕ




     Главная    Форум    О проекте    Авторство   Добавить материал   Участие в развитии проекта   Карта сайта  В избранное   Контакт 

       
    Наша почта
    OSys.ru - вычислительные и операционные системы Microsoft Windows, DOS, 98, NT, 2000, XP и Vista, а также UNIX, Linux и MacOS и др.
    хостинг и поддержка сайта
    Copyright © 1999-2017 Osys.ru Все права защищены. Авторство