Монитор ресурсов windows 7 ошибок страниц

В своей прошлой статье «Как использовать Монитор ресурсов Windows 7 для эффективной диагностики» я рассказал о возможностях Монитора ресурсов Windows 7 (Resource Monitor), объяснил, как с его помощью наблюдать за распределением системных ресурсов между процессами и службами, а также упомянул, что его можно использовать для решения конкретных задач — например, для анализа расходования памяти. Именно об этом и пойдет речь в данной статье.Немного о памяти

Прежде чем приступать к анализу, коротко расскажу о том, как Microsoft Windows 7 управляет памятью. После этого вам будет проще понять, какая информация представлена в Мониторе ресурсов Windows 7.

Диспетчер памяти Windows 7 создает виртуальную систему памяти, которая состоит из доступной физической RAM и файла подкачки на жестком диске. Это позволяет операционной системе выделять блоки памяти фиксированной длины (страницы) с последовательными адресами в физической и виртуальной памяти.

Запуск Монитора ресурсов Windows 7

Чтобы запустить Монитор ресурсов Windows 7, откройте меню «Пуск» (Start), введите в строке поиска «Resmon.exe» и нажмите [Enter]. В открывшемся окне выберите вкладку «Память» (Memory, рис. A).

Анализ использования памяти с помощью Монитора ресурсов Windows 7

Рисунок A. На вкладке «Память» в Мониторе ресурсов Windows 7 приводятся подробные сведения о распределении памяти.

Таблица «Процессы»

На вкладке «Память» есть таблица «Процессы» (Processes, рис. B), в которой перечислены все запущенные процессы, а сведения об используемой памяти разбиты на несколько категорий.

Анализ использования памяти с помощью Монитора ресурсов Windows 7

Рисунок B. Сведения об используемой памяти для каждого процесса разбиты на несколько категорий.

Графа «Образ»

В колонке «Образ» (Image) указывается имя исполняемого файла процесса. Процессы, запущенные приложениями, узнать очень легко — например, процесс «notepad.exe» со всей очевидностью принадлежит Блокноту (Notepad). Процессы с именем «svchost.exe» представляют различные службы операционной системы. Название службы указывается в скобках рядом с именем процесса.

Графа «ИД процесса»

В колонке «ИД процесса» (PID) указывается номер процесса — уникальное сочетание цифр, позволяющее идентифицировать запущенный процесс.

Графа «Завершено»

В столбце «Завершено» (Commit) указывается объем виртуальной памяти в килобайтах, зарезервированный системой для данного процесса. Сюда входит и используемая физическая память, и сохраненные в файле подкачки страницы.

Графа «Рабочий набор»

В графе «Рабочий набор» (Working Set) указывается объем физической памяти в килобайтах, используемой процессом в данный момент времени. Рабочий набор складывается из общей и частной памяти.

Графа «Общий»

В колонке «Общий» (Shareable) указан объем физической памяти в килобайтах, которую данный процесс использует совместно с другими. Использование одного сегмента памяти или страницы подкачки для родственных процессов позволяет сэкономить место в памяти. При этом физически сохраняется только одна копия страницы, которая затем сопоставляется с виртуальным адресным пространством других процессов, которые к ней обращаются. Например, все процессы, инициированные системными библиотеками DLL — Ntdll, Kernel32, Gdi32 и User32 — используют общую память.

Графа «Частный»

В столбце «Частный» (Private) указывается объем физической памяти в килобайтах, используемой исключительно данным процессом. Именно это значение позволяет определить, сколько памяти нужно тому или иному приложению для работы.

Графа «Ошибок отсутствия страницы в памяти/сек.»

В графе «Ошибок отсутствия страницы в памяти/сек.» (Hard Faults/sec) указано среднее за последнюю минуту количество ошибок отсутствия страницы в памяти в секунду. Если процесс пытается использовать больше физической памяти, чем доступно в данный момент времени, система записывает часть данных из памяти на диск — в файл подкачки. Последующее обращение к данным, сохраненным на диск, и называется ошибкой отсутствия страницы в памяти.

О чем говорят ошибки отсутствия страницы в памяти

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

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

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

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

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

Таблица «Физическая память»

В таблице «Процессы» приводятся детальные сведения о распределении памяти между отдельными процессами, а таблица «Физическая память» (Physical Memory) дает общую картину использования RAM. Ее ключевой компонент — уникальная гистограмма, показанная на рис. C.

Анализ использования памяти с помощью Монитора ресурсов Windows 7

Рисунок C. Гистограмма в таблице «Физическая память» позволяет составить общее представление о распределении памяти в Windows 7.

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

Секция «Зарезервированное оборудование»

Слева расположена секция «Зарезервированное оборудование» (Hardware Reserved), обозначенная серым цветом: это память, выделенная на нужды подключенного оборудования, которую оно использует для взаимодействия с операционной системой. Зарезервированная для оборудования память заблокирована и недоступна диспетчеру памяти.

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

• BIOS;
• компоненты материнской платы — например, усовершенствованный программируемый контроллер прерываний ввода/вывода (APIC);
• звуковые карты и другие устройства, осуществляющие ввод/вывод с отображением на память;
• шина PCI Express (PCIe);
• видеокарты;
• различные наборы микросхем;
• флеш-накопители.

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

Секция «Используется»

Секция «Используется» (In Use, рис C), обозначенная зеленым цветом, представляет количество памяти, используемой системой, драйверами и запущенными процессами. Количество используемой памяти рассчитывается, как значение «Всего» (Total) за вычетом суммы показателей «Изменено» (Modified), «Ожидание» (Standby) и «Свободно» (Free). В свою очередь, значение «Всего» — это показатель «Установлено» (Installed RAM) за вычетом показателя «Зарезервированное оборудование».

Секция «Изменено»

Оранжевым цветом выделена секция «Изменено» (Modified), в которой представлена измененная, но не задействованная память. Фактически она не используется, но может быть в любой момент задействована, если снова понадобится. Если память не используется достаточно давно, данные переносятся в файл подкачки, а память переходит в категорию «Ожидание».

Секция «Ожидание»

Секция «Ожидание», обозначенная синим цветом, представляет страницы памяти, удаленные из рабочих наборов, но по-прежнему с ними связанные. Другими словами, категория «Ожидание» — это фактически кэш. Страницам памяти в этой категории присваивается приоритет от 0 до 7 (максимум). Страницы, связанные с высокоприоритетными процессами, получают максимальный приоритет. Например, совместно используемые процессы обладают высоким приоритетом, поэтому связанным с ними страницам присваивается наивысший приоритет в категории «Ожидание».

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

Секция «Свободно»

В категории «Свободно», обозначенной голубым цветом, представлены страницы памяти, еще не выделенные ни одному процессу или освободившиеся после завершения процесса. В этой секции отображается как еще не задействованная, так и уже освобожденная память, но на самом деле, еще не задействованная память относится к другой категории — «Нулевые страницы» (Zero Page), которая так называется, потому что эти страницы инициализированы нулевым значением и готовы для использования.

О проблеме свободной памяти

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

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

Мониторинг памяти

Хотите понаблюдать систему управления памятью Windows 7 в действии? Перезагрузите компьютер и сразу же после запуска откройте Монитор ресурсов Windows 7. Перейдите на вкладку «Память» и обратите внимание на соотношение секций в гистограмме физической памяти.

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

Проделав этот экстремальный эксперимент, вы поймете, как Windows 7 управляет памятью на вашем конкретном компьютере, и сможете использовать Монитор ресурсов Windows 7 для наблюдения за распределением памяти в нормальных условиях повседневной работы.

А что думаете вы?

Нравится ли вам идея использовать Монитор ресурсов Windows 7 для наблюдения за распределением памяти? Поделитесь своим мнением в комментариях!

Автор: Greg Shultz
Перевод

SVET

Оцените статью: Голосов

  1. Лабораторная работа № 12.Управление памятью в Windows

Распределение
памяти в Windows9xи вWindowsNT.
Монитор ресурсов Windows 7. Изучение пунктов
и вкладок, связанных с памятью.
Использование монитора ресурсов Windows
7 для наблюдения за распределением
памяти. Увеличение объема файла подкачки
(виртуальной памяти). Проверка памяти
средствами Windows.

3.1. Распределение памяти в
Windows 9x

ОС Windows 9x — это 32-разрядные
многопотоковые ОС с вытесняющей
многозадачностью и графическим
пользовательским интерфейсом. Для своей
загрузки они используют MS-DOS 7.0, которая
обеспечивает два режима работы процессора
– реальный (в файле MSDOS.SYS в секции
[options] прописано BootGUI=0) и защищённый
(BootGUI=1). Защищённый режим устанавливается
непосредственно перед загрузкой Windows
9x, в результате чего процессор начинает
управлять памятью с использованием
страничного механизма преобразования
виртуальных адресов в физические.
Область виртуального адресного
пространства состоит из 4-х килобайтных
страниц, которые размещаются в оперативной
памяти или на диске.

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

Каждая прикладная 32-разрядная
Windows-программа выполняется в своём
адресном пространстве, однако доступ
к нужным адресам возможен, т.е. организация
виртуальных адресов не использует всех
аппаратных средств защиты, заложенных
в микропроцессор. 16-разрядные программы
разделяют общее адресное пространство
и также уязвимы друг перед другом. Модель
памяти Windows 9x представлена на рис.3.1.

Рис. 3.1. Распределения ОП в Windows
9x

Нижние 64 Кб ОП недоступны
32-разрядным программам, но 16-разрядные
программы могут записывать сюда свои
данные. Адреса ниже 4 Мб отображаются в
адресное пространство каждой прикладной
программы и совместно используются
всеми процессами. Это делает эту область
незащищенной от случайной записи.

Минимально необходимый объем
памяти для функционирования Windows 9х
составляет 4 Мб, однако практически при
таком объеме памяти работать невозможно.
Страничный файл, с помощью
которого реализуется механизм виртуальной
памяти, расположен в каталоге Windows и
имеет переменный размер, изменяемый
при необходимости самой системой. Его
размеры могут быть заданы с помощью
системных средств (Панель управления
→ Система → Быстродействие → Файловая
система), либо заданы в секции [386Enh] файла
SYSTEM.INI – строки с указанием диска и имени
файла:

PagingDrive=C:

Pagingfive=c:\PageFile.sys

MinPagingFileSize=65536
(64 Мб)

MaxPagingFileSize=262144
(256 Мб)

Первая и вторая строки определяют
имя файла и его размещение, а две последние
– начальный и предельный размер
страничного файла в Кб.

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

3.2. Распределение памяти в
Windows NT

Отличия схемы распределения от
Windows 9х сводятся к следующему:

1) более серьезное использование
аппаратных средств защиты памяти,
предусмотренных в микропроцессоре;

2) все системные программные
модули расположены в собственных
виртуальных адресных пространствах и
доступ прикладных программ к ним
невозможен.

Распределение адресного
пространства в Windows NT представлено на
рис. 3.2.

Рис. 3.2. Распределения ОП в Windows
NT

Прикладным программам выделяется
2 Гб локального (собственного) линейного
(неструктурированного) адресного
пространства (первые 64 Кб недоступны).
Они изолированы друг от друга и могут
общаться друг с другом только через
буфер обмена (clipboard), либо через механизмы
DDE (Dynamic Data Exchange – динамический обмен
данными) и OLE (Object Linking and Embedding – связь и
внедрение объектов).

В верхней части 2 Гб-й области
размещается код системных DLL (динамически
связанные библиотеки), выполняющих роль
сервер-процессов. Они проверяют значения
параметров запросов, исполняют запрошенную
функцию и пересылают результаты назад
в адресное пространство вызывающей
программы.

В интервале адресов 2-4 Гб
располагаются системные (низкоуровневые)
компоненты Windows (т.е. самого высокого
уровня защиты от несанкционированного
доступа: ядро, планировщик потоков,
диспетчер памяти).

Для 16-разрядных прикладных
Windows-программ реализуются сеансы WOW
(Windows On Windows) в режиме вытесняющей
многозадачности индивидуально в
собственных адресных пространствах
или совместно в разделяемом адресном
пространстве.

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

Управление памятью (выделение,
резервирование, освобождение, подкачка)
производится диспетчером виртуальной
памяти VMM (Virtual Memory Manager). Каждая виртуальная
страница переносится на физическую
страницу − страничный фрейм (page frame),
заполненный в исходном состоянии нулями
(это основное требование стандарта на
системы безопасности уровня С2,
определяющее невозможность использования
их предыдущего содержимого другими
процессами). Место для выгрузки страницы
резервируется в файле подкачки
Pagefile.sys, представляющим собой
зарезервированный блок дискового
пространства.

Вся память Windows NT подразделяется
на зарезервированную(для динамического
использования процессами при выполнении
задач),выделенную(для выгрузки
которой резервируется в Pagefile.sys) идоступную(остальная часть свободной
памяти).

    1. Виртуальная память в Windows

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

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

В процессе установки Windows XP файл
подкачки автоматически создается в
корневой папке на том же диске, где
расположены системные файлы Windows. Размер
файла подкачки определяется, исходя из
объема физической памяти в системе. По
умолчанию минимальный размер файла
подкачки в 1,5 раза больше, чем объем
физической памяти, а максимальный размер
— в 3 раза больше. Файл подкачки можно
увидеть в окне Проводника, если включить
режим отображения скрытых и системных
файлов (рис. 3.3).

Рис. 3.3. Включение режима отображения
скрытых и системных файлов

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

Для этого нужно выполнить
следующую последовательность действий:

1. Войдите в систему под учетной
записью из группы Администраторы и
откройте окно «Панель управления –
Система».

2. На вкладке «Дополнительно»
нажмите кнопку «Параметры» в разделе
«Быстродействие» (рис. 3.4).

3. В диалоговом окне «Параметры
быстродействия» выберите вкладку
«Дополнительно» и нажмите кнопку
«Изменить» (рис. 3.5) для отображения
диалогового окна «Виртуальная память»,
которое показано на рис. 3.6 для WindowsXPи на рис. 3.7 дляWindows7.

Текущие параметры файла подкачки
отражены в поле «Общий размер файла
подкачки на всех дисках».

4. Выберите любой диск из списка
в верхней части диалогового окна, чтобы
настроить параметры этого диска.

Можно изменить перечисленные
ниже параметры:

— Особый размер. Укажите
значение в полеИсходный размердля
задания начального размера файла
pagefile.sys на указанном диске (в мегабайтах).
В полеМаксимальный размервведите
число не меньшее значения в полеИсходный
размер
, но не превышающее 4096 Мбайт (4
Гбайт).

— Размер по выбору системы.Выберите этот пункт для включения
динамического управления размером
файла подкачки для данного диска. Этот
вариант следует выбирать, если вы не
хотите изменять предлагаемые Windows по
умолчанию параметры.

Без файла подкачки. Используйте
для всех дисков, на которых вам не нужен
файл подкачки. Удостоверьтесь, что файл
подкачки есть хотя бы на одном диске.

5. После внесения каких-либо
изменений нажмите Задатьдля записи
изменений.

6. Повторите этапы 4 и 5 для прочих
дисков (при необходимости). Нажмите ОК
для закрытия диалогового окна после
завершения работы с ним.

Рис. 3.4. Кнопка «Параметры» для
перехода к просмотру и/или

изменению параметров виртуальной
памяти

Рис. 3.5. Кнопка «Изменить» для
перехода к изменению параметров
виртуальной памяти в WindowsXP(слева) и вWindows7

Рис. 3.6. Окно просмотра и настройки
размера виртуальной памяти

в WindowsXP

Рис. 3.7. Окно просмотра и настройки
размера виртуальной памяти в Windows7

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

Не пытайтесь разместить файл
подкачки на несколько логических дисках
одного физического диска!!!

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

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

Если у вас очень много физической
памяти, может возникнуть соблазн вовсе
отключить файл подкачки. Не делайте
этого!
!!

Windows XP была разработана так, что
файл подкачки используется для выполнения
некоторых задач ядра, поэтому некоторые
программы третьих фирм могут выдавать
сообщение о нехватке памяти при попытке
полностью отключить виртуальную память.

Windows не использует файл подкачки,
пока он не понадобится, поэтому отключение
виртуальной памяти не приведет к
повышению производительности!!!

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

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

    1. Контроль использования памяти
      в Windows

Самый простой способ узнать,
сколько оперативной памяти используется
в данный момент времени — открыть
Диспетчер задач (Task Manager), нажав
[Ctrl]+[Shift]+[Esc], и перейти на вкладку
«Быстродействие» (Performance) (рис.3.8).
Подробное описание информации вкладки
«Быстродействие» для WindowsXPпредставлено в табл.
3.1.

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

Вкладка «Быстродействие» для
Windows7 имеет значимые
нововведения по сравнению с соответствующей
вкладкой Диспетчером задач Windows XP.

Число в графе «Всего» (Total) раздела
«Физическая память» (Physical Memory) указывает
на общий объем оперативной памяти для
данной системы. В графе «Кэшировано»
(Cached) указано количество физической
памяти, которая недавно использовалась
системными ресурсами. Она остается в
кэше на случай, если снова понадобится
системе, но доступна для других процессов.
В новой графе «Доступно» (Available) указывается
количество неиспользуемой в данный
момент физической памяти, а в графе
«Свободно» (Free) — количество памяти,
которая используется кэшем, но не
содержит полезной информации.

В разделе «Память ядра» (Kernel
Memory) содержатся две графы — «Выгружаемая»
(Paged) и «Невыгружаемая» (Nonpaged). В сумме
они указывают, сколько памяти использует
ядро. Выгружаемая — это виртуальная
память, а невыгружаемая — физическая.

В разделе «Система» (System) появились
графы «Дескрипторов» (Handles) и «Потоков»
(Threads), связанные с составными компонентами
процессов. В графе «Дескрипторов»
указывается количество идентификаторов
объектов (дескрипторов), которые
используются запущенными в данный
момент процессами. В графе «Потоков»
указано число подпроцессов, запущенных
в рамках более крупных процессов. Цифра
в графе «Процессов» (Processes), естественно,
указывает на общее количество запущенных
процессов, которые можно увидеть на
вкладке «Процессы».

В графе «Время работы» (Up Time)
указано, сколько времени прошло с
последнего запуска компьютера. В графе
«Выделено» (Commit) содержится информация
о файле подкачки. Первая цифра указывает
на общий объем используемой в данный
момент физической и виртуальной памяти,
а вторая — на общий объем памяти для
данного компьютера в принципе.

Еще более подробную информацию
можно получить, нажав кнопку «Монитор
ресурсов» и выбрав вкладку «Память»
(рис. 3.9).

Рис. 3.9. Вкладка «Память» окна
монитора ресурсов Windows7

На вкладке «Память» есть таблица
«Процессы», в которой перечислены все
запущенные процессы, а сведения об
используемой памяти для каждого процесса
разбиты на несколько категорий
(рис.3.10).

Рис. 3.10. Таблица «Процессы»

В колонке «Образ» указывается
имя исполняемого файла процесса.
Процессы, запущенные приложениями,
узнать очень легко — например, процесс
«Winword.exe» со всей очевидностью
принадлежит текстовому редакторуWord.
Процессы с именем «svchost.exe» представляют
различные службы операционной системы.
Название службы указывается в скобках
рядом с именем процесса.

В колонке «ИД процесса»
указывается номер процесса — уникальное
сочетание цифр, позволяющее идентифицировать
запущенный процесс.

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

В графе «Рабочий набор»
указывается объем физической памяти в
килобайтах, используемой процессом в
данный момент времени. Рабочий набор
складывается из общей и частной памяти.

В колонке «Общий» указан
объем физической памяти в килобайтах,
которую данный процесс использует
совместно с другими. Использование
одного сегмента памяти или страницы
подкачки для родственных процессов
позволяет сэкономить место в памяти.
При этом физически сохраняется только
одна копия страницы, которая затем
сопоставляется с виртуальным адресным
пространством других процессов, которые
к ней обращаются. Например, все процессы,
инициированные системными библиотеками
DLL — Ntdll, Kernel32, Gdi32 и User32 — используют
общую память.

В столбце «Частный» указывается
объем физической памяти в килобайтах,
используемой исключительно данным
процессом. Именно это значение позволяет
определить, сколько памяти нужно тому
или иному приложению для работы.

В графе «Ошибок отсутствия
страницы в памяти/сек.
» указано среднее
за последнюю минуту количество ошибок
отсутствия страницы в памяти в секунду.
Если процесс пытается использовать
больше физической памяти, чем доступно
в данный момент времени, система
записывает часть данных из памяти на
диск — в файл подкачки. Последующее
обращение к данным, сохраненным на диск,
и называется ошибкой отсутствия страницы
в памяти.

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

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

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

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

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

В таблице «Процессы» приводятся
детальные сведения о распределении
памяти между отдельными процессами, а
таблица «Физическая память» дает общую
картину использования RAM. Ее ключевой
компонент — уникальная гистограмма,
показанная на рис. 3.11.


Рисунок
3.11. Гистограмма в таблице «Физическая
память» позволяет составить общее
представление о распределении памяти
в Windows 7

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

Слева расположена секция
«Зарезервированное оборудование»,
обозначенная серым цветом: это память,
выделенная на нужды подключенного
оборудования, которую оно использует
для взаимодействия с операционной
системой. Зарезервированная для
оборудования память заблокирована и
недоступна диспетчеру памяти. Обычно
объем памяти, выделенной оборудованию,
составляет от 10 до 70 Мбайт, однако этот
показатель зависит от конкретной
конфигурации системы и в некоторых
случаях может достигать нескольких
сотен мегабайт.

К компонентам, влияющим на объем
зарезервированной памяти, относятся:

• BIOS;

• компоненты материнской платы
— например, усовершенствованный
программируемый контроллер прерываний
ввода/вывода (APIC);

• звуковые карты и другие
устройства, осуществляющие ввод/вывод
с отображением на память;

• шина PCI Express (PCIe);

• видеокарты;

• различные наборы микросхем;

• флеш-накопители.

Секция «Используется»,
обозначенная зеленым цветом, представляет
количество памяти, используемой системой,
драйверами и запущенными процессами.
Количество используемой памяти
рассчитывается, как значение «Всего»
за вычетом суммы показателей «Изменено»,
«Ожидание» и «Свободно». В свою
очередь, значение «Всего» — это
показатель «Установлено» за вычетом
показателя «Зарезервированное
оборудование
».

Операционная система Windows поставляется с множеством встроенных инструментов для анализа использования ресурсов. Наиболее заметным из них, вероятно, является Диспетчер задач Windows, поскольку он подчеркивает использование ресурсов отдельными процессами и дает администраторам и пользователям возможность уничтожить любые некорректные процессы.

Монитор производительности и Монитор ресурсов — это два дополнительных инструмента, которые администраторы и опытные пользователи Windows могут использовать для анализа проблем, связанных с производительностью или ресурсами, на ПК с Windows.

Давайте начнем с того, что посмотрим, что такое монитор ресурсов и чем он отличается от диспетчера задач Windows и монитора производительности.

Что такое монитор ресурсов?

обзор монитора ресурсов

Microsoft добавила Resource Monitor в операционные системы Windows Vista и Windows Server 2008 и сделала его частью любой новой версии Windows, выпущенной с тех пор. Программа отображает информацию об аппаратных и программных ресурсах в режиме реального времени.

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

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

Монитор ресурсов работает в рамках процесса монитора производительности.

Как запустить монитор ресурсов

монитор открытых ресурсов

У пользователей и администраторов есть несколько вариантов запуска монитора ресурсов. Он включен в несколько версий Windows, и некоторые параметры запуска инструмента доступны только в некоторых версиях операционной системы.

Первые два метода должны работать во всех версиях Windows, поддерживаемых Microsoft.

  1. Используйте Windows-R, чтобы открыть окно запуска. Введите resmon.exe и нажмите клавишу Enter.
  2. Используйте Windows-R, чтобы открыть окно запуска. Введите perfmon.exe / res и нажмите клавишу Enter.
  3. В Windows 10 выберите Пуск> Все приложения> Инструменты администрирования Windows> Монитор ресурсов.
  4. В предыдущих версиях Windows выберите Пуск> Все программы> Стандартные> Системные инструменты> Монитор ресурсов.
  5. Откройте диспетчер задач Windows, нажав Ctrl-Shift-Esc. Перейдите на вкладку «Производительность», а там «откройте монитор ресурсов».

скрыть панели

Интерфейс монитора ресурсов выглядит одинаково в Windows 7, Windows 8.1 и Windows 10. Программа использует вкладки для разделения данных. Обзор, ЦП, Память, Диск и Сеть — это пять вкладок программы.

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

На боковой панели отображаются графики, показывающие использование ЦП, диска, сети и памяти за период 60 секунд.

Вы можете скрывать и отображать элементы, щелкнув значок стрелки в заголовке. Другой вариант, который вам нужно настроить интерфейс, — это навести курсор мыши на разделители в интерфейсе, чтобы перетащить видимую область. Используйте ее, чтобы увеличить или уменьшить видимую область элемента.

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

Вкладка «Обзор» — хорошая отправная точка, так как дает обзор использования ресурсов. Он освещает использование ЦП и памяти, использование диска и использование сети в режиме реального времени.

Каждый конкретный список предлагает массу информации. В блоке ЦП перечислены имена и идентификаторы процессов, IP-адреса сетевого блока и передачи данных, аппаратные сбои блока памяти и операции чтения и записи дискового блока.

Один интересный вариант, который у вас есть прямо здесь, заключается в том, чтобы выбрать один или несколько процессов в разделе ЦП, чтобы применить фильтры к вкладке Диск, Сеть и Память.

Если вы выберете конкретный процесс в разделе CPU, Resource Monitor перечислит использование диска, сети и памяти этим процессом только в его интерфейсе. Это одно из отличий от диспетчера задач, поскольку в этом инструменте нельзя делать что-то подобное.

Мониторинг использования ЦП с помощью монитора ресурсов

отслеживать использование процессора

Вам нужно переключиться на вкладку CPU, если вы хотите детально контролировать загрузку CPU. Здесь вы найдете список процессов на странице обзора, а также три новых листинга Services, Associated Handles и Associated Modules.

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

Обратите внимание, что графики отличаются от представленных ранее. На графиках на вкладке ЦП показано использование каждого ядра, использование служебного ЦП и общее использование ЦП.

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

процессы

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

Контекстное меню служб ограничено запуском, остановкой и перезапуском служб, а также поиском информации в Интернете.

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

Память в мониторе ресурсов

монитор ресурсов памяти

На вкладке памяти перечислены процессы, как и на вкладке ЦП, но с упором на использование памяти. Кроме того, он имеет представление физической памяти, которое визуализирует распределение памяти на машине Windows.

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

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

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

  • Зафиксировать — Объем виртуальной памяти, зарезервированной операционной системой для процесса.
  • Рабочий набор — Объем физической памяти, используемой в данный момент процессом.
  • Поделиться — Объем физической памяти, используемой процессом, который может использоваться совместно с другими процессами.
  • Частный — Объем физической памяти, используемой процессом, который не может использоваться другими процессами.

Вы получаете тот же уровень контроля в контекстном меню, так что вы можете завершить любой процесс, использующий его.

Информация об активности диска

активность диска

На вкладке «Диск» монитора ресурсов Windows отображается активность процессов на диске и информация о хранилище.

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

В списке «Хранилище» внизу перечислены все доступные диски, доступное и общее пространство на диске, а также время активности.

Графики визуализируют длину дисковой очереди. Это индикатор запросов этого конкретного диска и хороший индикатор, позволяющий определить, не справляется ли производительность диска с операциями ввода-вывода.

Сетевая активность в мониторе ресурсов

мониторинг ресурсов сетевой активности

На вкладке «Сеть» отображается сетевая активность, TCP-соединения и порты прослушивания. Он подробно перечисляет сетевую активность любого запущенного процесса. Одно это полезно, так как сразу сообщает, подключаются ли процессы к Интернету.

Вы действительно получаете списки TCP-соединений, в которых указаны удаленные серверы, к которым подключаются процессы, использование полосы пропускания и локальные порты прослушивания.

Что вы можете использовать Resource Monitor для

  • Проверьте Hard Faults и используйте Physical Memory, чтобы узнать, нужно ли вашему компьютеру больше RAM. Жесткие сбои возникают, когда данные, необходимые процессу, извлекаются с диска (файла подкачки), а не из памяти. Физическая память проста, так как она показывает, какой объем доступной оперативной памяти используется.
  • Используйте вкладку ЦП, чтобы связать процессы со службами Windows.
  • Узнайте, какие программы записывают на диск в определенный момент времени.
  • Составьте список всех исходящих подключений ПК или узнайте, подключается ли процесс к Интернету.
  • Проверьте все порты прослушивания и закройте те, которые вам не нужны.

Монитор ресурсов Подсказки:

  • Вы можете остановить мониторинг в любое время, щелкнув Monitor> Stop Monitoring. Это блокирует автоматическое обновление данных.
  • Наведите курсор на заголовок, чтобы отобразить описание.
  • Щелкните правой кнопкой мыши строку заголовка списка и выберите «выбрать столбцы», чтобы добавить или удалить столбцы из таблицы. Вы можете добавить платформу или повышенную информацию к процессам, перечисляющим таким образом, например.
  • Щелкните заголовок любого столбца, чтобы отсортировать таблицу соответствующим образом. Например, щелчок по процессам выполняет сортировку по имени процесса.
  • Вы можете сохранить конфигурации и загрузить их снова, используя меню «Файл».

Вывод

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

Теперь ваша очередь : Вы пользуетесь монитором ресурсов?

Содержание

  1. Ошибок отсутствия страницы в памяти windows 7
  2. Ошибок отсутствия страницы в памяти windows 7
  3. Анализ использования памяти с помощью Монитора ресурсов Windows 7
  4. О чем говорят ошибки отсутствия страницы в памяти
  5. Статьи к прочтению:
  6. Пусть говорят — «Вы мне не верили, а я умерла»Выпуск от 11.09.217
  7. Похожие статьи:

Ошибок отсутствия страницы в памяти windows 7

Сообщения: 10692
Благодарности: 2886

•Ошибок отсутствия страницы в памяти/сек – ошибка отсутствия в памяти. Как правило, она может быть критической (но не всегда). Также может указывать на нехватку оперативной памяти. Такая ошибка возникает в тех случаях, когда система использует файл подкачки, который находится на жестком диске. Жесткий диск работает медленнее оперативной памяти, и использование файла подкачки снижает быстродействие системы. Если подобные ошибки слишком часто возникают, лучше расширить оперативную память.

1. Откройте командную строку с Административными правами.
2. В командной строке введите следующую команду и нажмите клавишу ВВОД:

По окончании выложите C:\windows\Logs\CBS\ CBS.log в архиве.

Запустите AIDA64 Portable от имени Администратора > Сверху, в окне программы AIDA нажмите «Отчет» >
Далее > выберите «Аппаратные разделы» > Далее > Простой текст > Готово > Сохранить в файл.

Файл, в архиве, подкрепите к сообщению.

» width=»100%» style=»BORDER-RIGHT: #719bd9 1px solid; BORDER-LEFT: #719bd9 1px solid; BORDER-BOTTOM: #719bd9 1px solid» cellpadding=»6″ cellspacing=»0″ border=»0″>

Сообщения: 3
Благодарности: 0

Доброго времени суток господа.








так. что еще можно сказать то.

Пожалуй это и натолкнуло меня написать пост именно здесь, а не создавать тему, т.к. на первый взгляд кажется всё это тесно связано между собой.

По поводу раммапа, похоже там критических утечек нет, но на мой взгляд многовато всё же для 2-х гигов)

Источник

Ошибок отсутствия страницы в памяти windows 7

Сообщения: 10692
Благодарности: 2886

•Ошибок отсутствия страницы в памяти/сек – ошибка отсутствия в памяти. Как правило, она может быть критической (но не всегда). Также может указывать на нехватку оперативной памяти. Такая ошибка возникает в тех случаях, когда система использует файл подкачки, который находится на жестком диске. Жесткий диск работает медленнее оперативной памяти, и использование файла подкачки снижает быстродействие системы. Если подобные ошибки слишком часто возникают, лучше расширить оперативную память.

1. Откройте командную строку с Административными правами.
2. В командной строке введите следующую команду и нажмите клавишу ВВОД:

По окончании выложите C:\windows\Logs\CBS\ CBS.log в архиве.

Запустите AIDA64 Portable от имени Администратора > Сверху, в окне программы AIDA нажмите «Отчет» >
Далее > выберите «Аппаратные разделы» > Далее > Простой текст > Готово > Сохранить в файл.

Файл, в архиве, подкрепите к сообщению.

Сообщения: 23
Благодарности: 1








так. что еще можно сказать то.

Пожалуй это и натолкнуло меня написать пост именно здесь, а не создавать тему, т.к. на первый взгляд кажется всё это тесно связано между собой.

По поводу раммапа, похоже там критических утечек нет, но на мой взгляд многовато всё же для 2-х гигов)

Источник

Анализ использования памяти с помощью Монитора ресурсов Windows 7

В своей прошлой статье «Как использовать Монитор ресурсов Windows 7 для эффективной диагностики» я рассказал о возможностях Монитора ресурсов Windows 7 (Resource Monitor), объяснил, как с его помощью наблюдать за распределением системных ресурсов между процессами и службами, а также упомянул, что его можно использовать для решения конкретных задач — например, для анализа расходования памяти. Именно об этом и пойдет речь в данной статье.

Прежде чем приступать к анализу, коротко расскажу о том, как Microsoft Windows 7 управляет памятью. После этого вам будет проще понять, какая информация представлена в Мониторе ресурсов Windows 7.

Диспетчер памяти Windows 7 создает виртуальную систему памяти, которая состоит из доступной физической RAM и файла подкачки на жестком диске. Это позволяет операционной системе выделять блоки памяти фиксированной длины (страницы) с последовательными адресами в физической и виртуальной памяти.

Запуск Монитора ресурсов Windows 7

Чтобы запустить Монитор ресурсов Windows 7, откройте меню «Пуск» (Start), введите в строке поиска «Resmon.exe» и нажмите [Enter]. В открывшемся окне выберите вкладку «Память» (Memory, рис. A).

На вкладке «Память» есть таблица «Процессы» (Processes, рис. B), в которой перечислены все запущенные процессы, а сведения об используемой памяти разбиты на несколько категорий.

В колонке «Образ» (Image) указывается имя исполняемого файла процесса. Процессы, запущенные приложениями, узнать очень легко — например, процесс «notepad.exe» со всей очевидностью принадлежит Блокноту (Notepad). Процессы с именем «svchost.exe» представляют различные службы операционной системы. Название службы указывается в скобках рядом с именем процесса.

В колонке «ИД процесса» (PID) указывается номер процесса — уникальное сочетание цифр, позволяющее идентифицировать запущенный процесс.

В столбце «Завершено» (Commit) указывается объем виртуальной памяти в килобайтах, зарезервированный системой для данного процесса. Сюда входит и используемая физическая память, и сохраненные в файле подкачки страницы.

Графа «Рабочий набор»

В графе «Рабочий набор» (Working Set) указывается объем физической памяти в килобайтах, используемой процессом в данный момент времени. Рабочий набор складывается из общей и частной памяти.

В колонке «Общий» (Shareable) указан объем физической памяти в килобайтах, которую данный процесс использует совместно с другими. Использование одного сегмента памяти или страницы подкачки для родственных процессов позволяет сэкономить место в памяти. При этом физически сохраняется только одна копия страницы, которая затем сопоставляется с виртуальным адресным пространством других процессов, которые к ней обращаются. Например, все процессы, инициированные системными библиотеками DLL — Ntdll, Kernel32, Gdi32 и User32 — используют общую память.

В столбце «Частный» (Private) указывается объем физической памяти в килобайтах, используемой исключительно данным процессом. Именно это значение позволяет определить, сколько памяти нужно тому или иному приложению для работы.

Графа «Ошибок отсутствия страницы в памяти/сек.»

В графе «Ошибок отсутствия страницы в памяти/сек.» (Hard Faults/sec) указано среднее за последнюю минуту количество ошибок отсутствия страницы в памяти в секунду. Если процесс пытается использовать больше физической памяти, чем доступно в данный момент времени, система записывает часть данных из памяти на диск — в файл подкачки. Последующее обращение к данным, сохраненным на диск, и называется ошибкой отсутствия страницы в памяти.

О чем говорят ошибки отсутствия страницы в памяти

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

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

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

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

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

Таблица «Физическая память»

В таблице «Процессы» приводятся детальные сведения о распределении памяти между отдельными процессами, а таблица «Физическая память» (Physical Memory) дает общую картину использования RAM. Ее ключевой компонент — уникальная гистограмма, показанная на рис. C.

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

Секция «Зарезервированное оборудование»

Слева расположена секция «Зарезервированное оборудование» (Hardware Reserved), обозначенная серым цветом: это память, выделенная на нужды подключенного оборудования, которую оно использует для взаимодействия с операционной системой. Зарезервированная для оборудования память заблокирована и недоступна диспетчеру памяти.

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

• BIOS;
• компоненты материнской платы — например, усовершенствованный программируемый контроллер прерываний ввода/вывода (APIC);
• звуковые карты и другие устройства, осуществляющие ввод/вывод с отображением на память;
• шина PCI Express (PCIe);
• видеокарты;
• различные наборы микросхем;
• флеш-накопители.

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

Секция «Используется» (In Use, рис C), обозначенная зеленым цветом, представляет количество памяти, используемой системой, драйверами и запущенными процессами. Количество используемой памяти рассчитывается, как значение «Всего» (Total) за вычетом суммы показателей «Изменено» (Modified), «Ожидание» (Standby) и «Свободно» (Free). В свою очередь, значение «Всего» — это показатель «Установлено» (Installed RAM) за вычетом показателя «Зарезервированное оборудование».

Оранжевым цветом выделена секция «Изменено» (Modified), в которой представлена измененная, но не задействованная память. Фактически она не используется, но может быть в любой момент задействована, если снова понадобится. Если память не используется достаточно давно, данные переносятся в файл подкачки, а память переходит в категорию «Ожидание».

Секция «Ожидание», обозначенная синим цветом, представляет страницы памяти, удаленные из рабочих наборов, но по-прежнему с ними связанные. Другими словами, категория «Ожидание» — это фактически кэш. Страницам памяти в этой категории присваивается приоритет от 0 до 7 (максимум). Страницы, связанные с высокоприоритетными процессами, получают максимальный приоритет. Например, совместно используемые процессы обладают высоким приоритетом, поэтому связанным с ними страницам присваивается наивысший приоритет в категории «Ожидание».

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

В категории «Свободно», обозначенной голубым цветом, представлены страницы памяти, еще не выделенные ни одному процессу или освободившиеся после завершения процесса. В этой секции отображается как еще не задействованная, так и уже освобожденная память, но на самом деле, еще не задействованная память относится к другой категории — «Нулевые страницы» (Zero Page), которая так называется, потому что эти страницы инициализированы нулевым значением и готовы для использования.

О проблеме свободной памяти

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

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

Хотите понаблюдать систему управления памятью Windows 7 в действии? Перезагрузите компьютер и сразу же после запуска откройте Монитор ресурсов Windows 7. Перейдите на вкладку «Память» и обратите внимание на соотношение секций в гистограмме физической памяти.

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

Проделав этот экстремальный эксперимент, вы поймете, как Windows 7 управляет памятью на вашем конкретном компьютере, и сможете использовать Монитор ресурсов Windows 7 для наблюдения за распределением памяти в нормальных условиях повседневной работы.

Нравится ли вам идея использовать Монитор ресурсов Windows 7 для наблюдения за распределением памяти? Поделитесь своим мнением в комментариях!

Автор: Greg Shultz
Перевод SVET

Оцените статью: Голосов

Источник

О чем говорят ошибки отсутствия страницы в памяти

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

Алгоритмы с квантованием.

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

Алгоритмы с приоритетами.

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

В Windows реализован смешанный алгоритм планирования – вытесняющий, на основе квантования и приоритетов.

Прерывание 14 —Страничная ошибка(#PF): Intel386 …

Генерируется, если страничный механизм активизирован (CR0.PG = 1) и при трансляции линейного адреса в физический возникает одна из следующих ситуаций:

Обработчик страничной ошибки получает информацию о ее причине из двух источников: кода ошибки, помещаемого в стек, и содержимого регистра CR2, который содержит линейный адрес, вызвавший ошибку. Код страничной ошибки имеет специальный формат (рис. 3.7.).

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

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

— ненадежности оперативной памяти

Графа «Ошибок отсутствия страницы в памяти/сек.»

В графе «Ошибок отсутствия страницы в памяти/сек.» (Hard Faults/sec) указано среднее за последнюю минуту количество ошибок отсутствия страницы в памяти в секунду. Если процесс пытается использовать больше физической памяти, чем доступно в данный момент времени, система записывает часть данных из памяти на диск — в файл подкачки. Последующее обращение к данным, сохраненным на диск, и называется ошибкой отсутствия страницы в памяти.

О чем говорят ошибки отсутствия страницы в памяти

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

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

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

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

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

В ОС Windows реализовано вытесняющее приоритетное планирование, когда каждому потоку присваивается определенное числовое значение — приоритет, в соответствии с которым ему выделяется процессор. Потоки с одинаковыми приоритетами планируются согласно алгоритму Round Robin (карусель). Важным достоинством системы является возможность вытеснения потоков, работающих в режиме ядра — код исполнительной системы полностью реентерабелен. Не вытесняются лишь потоки, удерживающие спин-блокировку (см. Синхронизация потоков ). Поэтому спин-блокировки используются с большой осторожностью и устанавливаются на минимальное время.

В системе предусмотрено 32 уровня приоритетов. Шестнадцать значений приоритетов (16-31) соответствуют группе приоритетов реального времени, пятнадцать значений (1-15) предназначены для обычных потоков, и значение 0 зарезервировано для системного потока обнуления страниц (см. рис. 6.2).

Рис. 6.2.Приоритеты потоков

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

Относительный приоритет потока устанавливается аналогичными параметрами функции SetThreadPriority:

Совокупность из шести классов приоритетов процессов и семи классов приоритетов потоков образует 42 возможные комбинации и позволяет сформировать так называемый базовый приоритет потока

Базовый приоритет процесса и первичного потока по умолчанию равен значению из середины диапазонов приоритетов процессов (24, 13, 10, 8, 6 или 4). Смена приоритета процесса влечет за собой смену приоритетов всех его потоков, при этом их относительные приоритеты остаются без изменений.

Приоритеты с 16 по 31 в действительности приоритетами реального времени не являются, поскольку в рамках поддержки мягкого реального времени, которая реализована в ОС Windows, никаких гарантий относительно сроков выполнения потоков не дается. Это просто более высокие приоритеты, которые зарезервированы для системных потоков и тех потоков, которым такой приоритет дает пользователь с административными правами. Тем не менее, наличие приоритетов реального времени, а также вытесняемость кода ядра, локализация страниц памяти (см. Функционирование менеджера памяти ) и ряд дополнительных возможностей — все это позволяет выполнять в среде ОС Windows приложения мягкого реального времени, например, мультимедийные. Системный поток с нулевым приоритетом занимается обнулением страниц памяти. Обычные пользовательские потоки могут иметь приоритеты от 1 до 15.

Статьи к прочтению:

Пусть говорят — «Вы мне не верили, а я умерла»Выпуск от 11.09.217

Похожие статьи:

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

На рис. 10 показана схема страничного распределения памяти. Виртуальное адресное пространство каждого процесса делится на части одинакового,…

Источник

В своей прошлой статье «Как использовать Монитор ресурсов Windows 7 для эффективной диагностики» я рассказал о возможностях Монитора ресурсов Windows 7 (Resource Monitor), объяснил, как с его помощью наблюдать за распределением системных ресурсов между процессами и службами, а также упомянул, что его можно использовать для решения конкретных задач — например, для анализа расходования памяти. Именно об этом и пойдет речь в данной статье.Немного о памяти

Прежде чем приступать к анализу, коротко расскажу о том, как Microsoft Windows 7 управляет памятью. После этого вам будет проще понять, какая информация представлена в Мониторе ресурсов Windows 7.

Диспетчер памяти Windows 7 создает виртуальную систему памяти, которая состоит из доступной физической RAM и файла подкачки на жестком диске. Это позволяет операционной системе выделять блоки памяти фиксированной длины (страницы) с последовательными адресами в физической и виртуальной памяти.

Запуск Монитора ресурсов Windows 7

Чтобы запустить Монитор ресурсов Windows 7, откройте меню «Пуск» (Start), введите в строке поиска «Resmon.exe» и нажмите [Enter]. В открывшемся окне выберите вкладку «Память» (Memory, рис. A).

Анализ использования памяти с помощью Монитора ресурсов Windows 7

Рисунок A. На вкладке «Память» в Мониторе ресурсов Windows 7 приводятся подробные сведения о распределении памяти.

Таблица «Процессы»

На вкладке «Память» есть таблица «Процессы» (Processes, рис. B), в которой перечислены все запущенные процессы, а сведения об используемой памяти разбиты на несколько категорий.

Анализ использования памяти с помощью Монитора ресурсов Windows 7

Рисунок B. Сведения об используемой памяти для каждого процесса разбиты на несколько категорий.

Графа «Образ»

В колонке «Образ» (Image) указывается имя исполняемого файла процесса. Процессы, запущенные приложениями, узнать очень легко — например, процесс «notepad.exe» со всей очевидностью принадлежит Блокноту (Notepad). Процессы с именем «svchost.exe» представляют различные службы операционной системы. Название службы указывается в скобках рядом с именем процесса.

Графа «ИД процесса»

В колонке «ИД процесса» (PID) указывается номер процесса — уникальное сочетание цифр, позволяющее идентифицировать запущенный процесс.

Графа «Завершено»

В столбце «Завершено» (Commit) указывается объем виртуальной памяти в килобайтах, зарезервированный системой для данного процесса. Сюда входит и используемая физическая память, и сохраненные в файле подкачки страницы.

Графа «Рабочий набор»

В графе «Рабочий набор» (Working Set) указывается объем физической памяти в килобайтах, используемой процессом в данный момент времени. Рабочий набор складывается из общей и частной памяти.

Графа «Общий»

В колонке «Общий» (Shareable) указан объем физической памяти в килобайтах, которую данный процесс использует совместно с другими. Использование одного сегмента памяти или страницы подкачки для родственных процессов позволяет сэкономить место в памяти. При этом физически сохраняется только одна копия страницы, которая затем сопоставляется с виртуальным адресным пространством других процессов, которые к ней обращаются. Например, все процессы, инициированные системными библиотеками DLL — Ntdll, Kernel32, Gdi32 и User32 — используют общую память.

Графа «Частный»

В столбце «Частный» (Private) указывается объем физической памяти в килобайтах, используемой исключительно данным процессом. Именно это значение позволяет определить, сколько памяти нужно тому или иному приложению для работы.

Графа «Ошибок отсутствия страницы в памяти/сек.»

В графе «Ошибок отсутствия страницы в памяти/сек.» (Hard Faults/sec) указано среднее за последнюю минуту количество ошибок отсутствия страницы в памяти в секунду. Если процесс пытается использовать больше физической памяти, чем доступно в данный момент времени, система записывает часть данных из памяти на диск — в файл подкачки. Последующее обращение к данным, сохраненным на диск, и называется ошибкой отсутствия страницы в памяти.

О чем говорят ошибки отсутствия страницы в памяти

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

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

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

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

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

Таблица «Физическая память»

В таблице «Процессы» приводятся детальные сведения о распределении памяти между отдельными процессами, а таблица «Физическая память» (Physical Memory) дает общую картину использования RAM. Ее ключевой компонент — уникальная гистограмма, показанная на рис. C.

Анализ использования памяти с помощью Монитора ресурсов Windows 7

Рисунок C. Гистограмма в таблице «Физическая память» позволяет составить общее представление о распределении памяти в Windows 7.

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

Секция «Зарезервированное оборудование»

Слева расположена секция «Зарезервированное оборудование» (Hardware Reserved), обозначенная серым цветом: это память, выделенная на нужды подключенного оборудования, которую оно использует для взаимодействия с операционной системой. Зарезервированная для оборудования память заблокирована и недоступна диспетчеру памяти.

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

• BIOS;
• компоненты материнской платы — например, усовершенствованный программируемый контроллер прерываний ввода/вывода (APIC);
• звуковые карты и другие устройства, осуществляющие ввод/вывод с отображением на память;
• шина PCI Express (PCIe);
• видеокарты;
• различные наборы микросхем;
• флеш-накопители.

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

Секция «Используется»

Секция «Используется» (In Use, рис C), обозначенная зеленым цветом, представляет количество памяти, используемой системой, драйверами и запущенными процессами. Количество используемой памяти рассчитывается, как значение «Всего» (Total) за вычетом суммы показателей «Изменено» (Modified), «Ожидание» (Standby) и «Свободно» (Free). В свою очередь, значение «Всего» — это показатель «Установлено» (Installed RAM) за вычетом показателя «Зарезервированное оборудование».

Секция «Изменено»

Оранжевым цветом выделена секция «Изменено» (Modified), в которой представлена измененная, но не задействованная память. Фактически она не используется, но может быть в любой момент задействована, если снова понадобится. Если память не используется достаточно давно, данные переносятся в файл подкачки, а память переходит в категорию «Ожидание».

Секция «Ожидание»

Секция «Ожидание», обозначенная синим цветом, представляет страницы памяти, удаленные из рабочих наборов, но по-прежнему с ними связанные. Другими словами, категория «Ожидание» — это фактически кэш. Страницам памяти в этой категории присваивается приоритет от 0 до 7 (максимум). Страницы, связанные с высокоприоритетными процессами, получают максимальный приоритет. Например, совместно используемые процессы обладают высоким приоритетом, поэтому связанным с ними страницам присваивается наивысший приоритет в категории «Ожидание».

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

Секция «Свободно»

В категории «Свободно», обозначенной голубым цветом, представлены страницы памяти, еще не выделенные ни одному процессу или освободившиеся после завершения процесса. В этой секции отображается как еще не задействованная, так и уже освобожденная память, но на самом деле, еще не задействованная память относится к другой категории — «Нулевые страницы» (Zero Page), которая так называется, потому что эти страницы инициализированы нулевым значением и готовы для использования.

О проблеме свободной памяти

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

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

Мониторинг памяти

Хотите понаблюдать систему управления памятью Windows 7 в действии? Перезагрузите компьютер и сразу же после запуска откройте Монитор ресурсов Windows 7. Перейдите на вкладку «Память» и обратите внимание на соотношение секций в гистограмме физической памяти.

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

Проделав этот экстремальный эксперимент, вы поймете, как Windows 7 управляет памятью на вашем конкретном компьютере, и сможете использовать Монитор ресурсов Windows 7 для наблюдения за распределением памяти в нормальных условиях повседневной работы.

А что думаете вы?

Нравится ли вам идея использовать Монитор ресурсов Windows 7 для наблюдения за распределением памяти? Поделитесь своим мнением в комментариях!

Автор: Greg Shultz
Перевод

SVET

Оцените статью: Голосов

Содержание

  1. Ошибок страницы физической памяти в секунду windows 10 что это
  2. Ошибки распределения памяти могут быть вызваны медленным ростом файла страницы
  3. Симптомы
  4. Причина
  5. Обходной путь
  6. Статус
  7. Дополнительная информация
  8. Ошибок страницы физической памяти в секунду windows 10 что это
  9. Инструкция при указанной ошибке памяти Windows 10 [решено]
  10. Как исправить Инструкция при указанной ошибке памяти в Windows 10
  11. 1. Запустите SFC & DISM Scan
  12. 2. Сканирование на наличие вредоносных программ
  13. 4. Выделите виртуальную память
  14. 5. Запустите обновления Windows
  15. 6. Сбросить систему
  16. Ошибок страницы физической памяти в секунду windows 10 что это

Ошибок страницы физической памяти в секунду windows 10 что это

contributor

Сообщения: 10692
Благодарности: 2886

•Ошибок отсутствия страницы в памяти/сек – ошибка отсутствия в памяти. Как правило, она может быть критической (но не всегда). Также может указывать на нехватку оперативной памяти. Такая ошибка возникает в тех случаях, когда система использует файл подкачки, который находится на жестком диске. Жесткий диск работает медленнее оперативной памяти, и использование файла подкачки снижает быстродействие системы. Если подобные ошибки слишком часто возникают, лучше расширить оперативную память.

1. Откройте командную строку с Административными правами.
2. В командной строке введите следующую команду и нажмите клавишу ВВОД:

По окончании выложите C:windowsLogsCBS CBS.log в архиве.

Запустите AIDA64 Portable от имени Администратора > Сверху, в окне программы AIDA нажмите «Отчет» >
Далее > выберите «Аппаратные разделы» > Далее > Простой текст > Готово > Сохранить в файл.

Файл, в архиве, подкрепите к сообщению.

» width=»100%» style=»BORDER-RIGHT: #719bd9 1px solid; BORDER-LEFT: #719bd9 1px solid; BORDER-BOTTOM: #719bd9 1px solid» cellpadding=»6″ cellspacing=»0″ border=»0″>

Сообщения: 3
Благодарности:

Доброго времени суток господа.

AkjO87ul

oAIUvHAl
czWKCBCl
rGRolHNl
djrgSAbl
qcLyk7ql

VLZcZZRl
6TDQS6ml

так. что еще можно сказать то.

Пожалуй это и натолкнуло меня написать пост именно здесь, а не создавать тему, т.к. на первый взгляд кажется всё это тесно связано между собой.

По поводу раммапа, похоже там критических утечек нет, но на мой взгляд многовато всё же для 2-х гигов)

Источник

Ошибки распределения памяти могут быть вызваны медленным ростом файла страницы

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

Применяется к: Windows 10 — все выпуски
Исходный номер КБ: 4055223

Симптомы

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

Причина

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

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

Обходной путь

Чтобы решить эту проблему, необходимо вручную настроить размер файла страницы. Для этого выполните следующие действия:

Статус

Корпорация Майкрософт подтвердила, что это проблема в Windows 10.

Дополнительная информация

При использовании компиляторов Microsoft Visual C++ (cl.exe) могут возникнуть такие ошибки сборки, как следующие:

Дополнительные сведения об ошибках компиляторов Visual C++ и о том, как их обойти, см. в материале Precompiled Header (PCH) issues and recommendations.

Источник

Ошибок страницы физической памяти в секунду windows 10 что это

contributor

Сообщения: 10692
Благодарности: 2886

•Ошибок отсутствия страницы в памяти/сек – ошибка отсутствия в памяти. Как правило, она может быть критической (но не всегда). Также может указывать на нехватку оперативной памяти. Такая ошибка возникает в тех случаях, когда система использует файл подкачки, который находится на жестком диске. Жесткий диск работает медленнее оперативной памяти, и использование файла подкачки снижает быстродействие системы. Если подобные ошибки слишком часто возникают, лучше расширить оперативную память.

1. Откройте командную строку с Административными правами.
2. В командной строке введите следующую команду и нажмите клавишу ВВОД:

По окончании выложите C:windowsLogsCBS CBS.log в архиве.

Запустите AIDA64 Portable от имени Администратора > Сверху, в окне программы AIDA нажмите «Отчет» >
Далее > выберите «Аппаратные разделы» > Далее > Простой текст > Готово > Сохранить в файл.

Файл, в архиве, подкрепите к сообщению.

» width=»100%» style=»BORDER-RIGHT: #719bd9 1px solid; BORDER-LEFT: #719bd9 1px solid; BORDER-BOTTOM: #719bd9 1px solid» cellpadding=»6″ cellspacing=»0″ border=»0″>

Сообщения: 3
Благодарности:

Доброго времени суток господа.

AkjO87ul

oAIUvHAl
czWKCBCl
rGRolHNl
djrgSAbl
qcLyk7ql

VLZcZZRl
6TDQS6ml

так. что еще можно сказать то.

Пожалуй это и натолкнуло меня написать пост именно здесь, а не создавать тему, т.к. на первый взгляд кажется всё это тесно связано между собой.

По поводу раммапа, похоже там критических утечек нет, но на мой взгляд многовато всё же для 2-х гигов)

Источник

Инструкция при указанной ошибке памяти Windows 10 [решено]

Инструкция в 0x00 ### ссылается на память в 0x00 ###. Ошибка чтения памяти : ошибка, связанная с ОЗУ, связанная как с системными, так и с сторонними приложениями, работающими в Windows 10. Обычно это означает, что приложение не может прочитать назначенную физическую память.

Один пользователь поделился своими проблемами на форуме Microsoft.

Когда я закрываю/перезагружаю Windows зависает с этой ошибкой
explorer.exe – ошибка приложения
Инструкция по адресу 0x00007ffee39ecc60 ссылается на память
0x0000000000000000. Память не может быть прочитана.
Местоположение памяти команд меняется с каждым отключением, но 00007ff …………. постоянно …

Узнайте, как решить эту проблему, следуя приведенным ниже инструкциям.

Как исправить Инструкция при указанной ошибке памяти в Windows 10

1. Запустите SFC & DISM Scan

Кроме того, вы можете использовать проактивные инструменты, такие как CCleaner или другие инструменты для очистки ПК, чтобы восстановить поврежденные системные файлы в реестре Windows.

2. Сканирование на наличие вредоносных программ

4. Выделите виртуальную память

5. Запустите обновления Windows

6. Сбросить систему

В качестве альтернативы, вы должны сканировать вашу оперативную память на наличие ошибок и убедиться, что вы соответствуете системным требованиям для запуска уязвимого приложения или игры, которая вызывает ошибку. Система Windows 10 требует как минимум 1 ГБ ОЗУ, но в идеале вы бы выбрали как минимум 2 ГБ.

Источник

Ошибок страницы физической памяти в секунду windows 10 что это

Что это такое? Как понимать его показания? В справке не описано.
Это нормально, когда у программы он растет со скоростью 2-3 тыс единиц в секунду?

topdown
homm © ( 2007-05-01 14:42 ) [1]

> Что это такое? Как понимать его показания?

Да не паникуй ты так. Это количество страниц, к котрым онадобился доступ когда их не было в оперативной памяти. А если еще точнее, то количество страниц, к котрым онадобился доступ когда их не было в рабочем наборе приложения, что не значит что их не было в оперативе.


> Это нормально, когда у программы он растет со скоростью
> 2-3 тыс единиц в секунду?

Нет 🙂 Пора идти в магазин за оперативой 🙂

topdown
Eraser © ( 2007-05-01 14:42 ) [2]

> [0] DVM © (01.05.07 13:42)


> Что это такое?

это ошибка доступа к странице памяти, при её возникновении системы выгружает нужную страницу из файла подкачки в ОЗУ.

> Это нормально, когда у программы он растет со скоростью
> 2-3 тыс единиц в секунду?

не очень (хотя тут нужно смотреть конкретную ситуацию), нужно побольше ОЗУ.

topdown
homm © ( 2007-05-01 15:05 ) [3]

> Это нормально, когда у программы он растет со скоростью
> 2-3 тыс единиц в секунду?

Я счас подергал окошко оперы за края, погонял апатчь, до 5 тышь в секунду доходило. Вот же уродский оптимайзер памяти у винды 🙁 Так что пара тысячь в секунду — вполне нормально.

procedure FastDIB2Bitmap(Src:TFastDIB;Dst:TBitmap);
begin
if Src.Handle<>0 then
begin
Dst.Handle:=Src.Handle;
// bitmaps can be selected for only one device context at a time
if(Src.hDC<>0)and Src.FreeDC then DeleteDC(Src.hDC);
if(Src.hPen<>0)then DeleteObject(Src.hPen);
if(Src.hFont<>0)then DeleteObject(Src.hFont);
if(Src.hBrush<>0)then DeleteObject(Src.hBrush);
Src.hDC:=0;
Src.FreeDC:=False;
Src.FreeBits:=False;
Src.FreeHandle:=False;
end;
end;

Вот такие преобразования моя программа делает до 200 в секунду.
Если я комментирую преобразование, то счетчик не растет практически.

Памяти 100% достаточно. Ее количество не влияет на этот счетчик. 2Гб ее.

topdown
antonn © ( 2007-05-01 16:43 ) [6]


> ну если это не дает лишней нагрузки на CPU

Не нагрузки не дает абсолютно. Память не растет, никакие ресурсы не уменьшаются.

topdown
Eraser © ( 2007-05-01 17:28 ) [8]

> [6] antonn © (01.05.07 16:43)

в Делфи идентификатор объекта является указателем на объект )

topdown
antonn © ( 2007-05-01 18:09 ) [9]


> в Делфи идентификатор объекта является указателем на объект
> )

По логике, нужно сначала всё освободить, потом присваивать Handle. Возможно, и освобождать необязательно, во всяком случае в примере Bumpmap сделано так:

procedure TBumpForm.SetThumbnail(Image:TImage; Bmp:TFastDIB);
var
Tmp: TFastDIB;
begin
Tmp:=TFastDIB.Create;
Tmp.SetSize(105,105,Bmp.Bpp);
if Tmp.Bpp=8 then
begin
Tmp.Colors^:=Bmp.Colors^;
Tmp.UpdateColors;
end;

Bilinear(Bmp,Tmp);
Tmp.FreeHandle:=False;
Image.Picture.Bitmap.Handle:=Tmp.Handle;
Tmp.Free;
Image.Refresh;
end;

А вообще, откуда надобность выполнять подобное преобразование 200 раз/c? Может лучше выкинуть TBitmap и выполнять все операции с TFastDIB? А то мне сейчас лень смотреть, но подозреваю, что в TBitmap.SetHandle куда больше действий, чем просто присвоение переменной.


> А вообще, откуда надобность выполнять подобное преобразование
> 200 раз/c?

Да есть вот задачи. Видеонаблюдение.


> Может лучше выкинуть TBitmap и выполнять все операции с
> TFastDIB?

Так и планирую сделать, но есть свои грабли и очень много вносить изменений. В принципе FastDIB тут прикручен из-за фантастически быстрой SetSize.


> TBitmap.SetHandle куда больше действий, чем просто присвоение
> переменной.

Да, там намного больше действий.


> Sapersky

Не подскажите, как правильно скопировать один TFastDIB в другой. Не Assign(), а именно копирование? У меня вот какая штука:

Во вторичном потоке происходит декодирование JPEG в TFastDIB. Далее этот FastDIB с сообщением высылается в основной поток и там преобразуется в TBitmap, который и отрисовывается при необходимости в основном потоке по WM_PAINT. Так сделано сейчас. Так вот получается, что и основной поток и вторичный на деле же работают с одним и тем же хэндлом одного и того же битмапа по сути. Ведь FastDIB2Bitmap просто присваивает хэндл. И пока первичный поток отрисовывает его на окне вторичный ведь может и поменять его содержимое. Или я неправ? Так можно делать или надо полностью копироваить битмап в основной поток и там работать с ним?

topdown
homm © ( 2007-05-01 22:06 ) [12]

Хм, а я кажеться понял почему так много ошибок доступа в этом месте. Потому что по Dst.Handle:=Src.Handle; Dst фактически заново создаеться, под новый битмап выделяеться память. А менеджер памяти в виндовсе имеет такое замечательное свойство, не выделять память физически, а лишь помечать страницы как зарезервированые. А вот когда уже на новый хэндл уже копируеться изображение со старого, идет непосредственное обращение к страницам, и они выделяются физически (в ОП), а счетчик ошибок доступа мотает. Так что эта строчка имхо — большая дыра в производительности. Попробуй как минимум создавать TBitmap как DIB, как максимум, здесь вобще нужно логику программы переделывать.

topdown
homm © ( 2007-05-01 22:11 ) [13]

> Так вот получается, что и основной поток и вторичный на
> деле же работают с одним и тем же хэндлом одного и того
> же битмапа по сути.

Скорее всего нет. Как я понимаю невозможно преобразовать DDB в DIB не выделив под него второй хэндл.


> Потому что по Dst.Handle:=Src.Handle; Dst фактически заново
> создаеться, под новый битмап выделяеться память

Да, получается, что так.


> Так что эта строчка имхо — большая дыра в производительности.

Может быть, но это далеко не самая тяжелая операция. Декодирование из JPEG во вторичных потоках занимает в тысячи раз больше времени.

topdown
Sapersky ( 2007-05-02 00:38 ) [16]

Не подскажите, как правильно скопировать один TFastDIB в другой. Не Assign(), а именно копирование?

Dst.MakeCopy(Src, True); // делается SetSize и Move
Или можно (при UseGDI = True) установить размер Dst = Src, потом
Src.Draw(Dst.hDC, 0, 0); // фактически BitBlt
удобно тем, что конвертирует битмапы разных форматов, хотя, как правило, не очень качественно. Впрочем, для этого есть FConvert.pas.

И пока первичный поток отрисовывает его на окне вторичный ведь может и поменять его содержимое. Так можно делать или надо полностью копироваить битмап в основной поток и там работать с ним?

topdown
Игорь Шевченко © ( 2007-05-02 10:29 ) [17]


> Вот же уродский оптимайзер памяти у винды

Слону, сам понимаешь, пофиг.


> Sapersky (02.05.07 00:38) [16]

Большое спасибо. Метод TFastDib.MakeCopy() действительно то что нужно.

Счетчики ошибок страницы не растут. Утечек тоже нет. Как обстоят дела с производительностью такого решения выясняю.

Источник

Adblock
detector

  • Remove From My Forums

 locked

монитор ресурсов, память и ошибки страниц.

  • Вопрос

  • Имеется Vista HP. На днях при возникновении очередных тормозов в системе, занялся внимательным изучением монитора ресурсов. При этом заметил, что периодически в окошке «Память» появляются сообщения об ошибках страниц(диск)/ мин.  причём они возникают при работе разных програм, в том числе и системных) и это похоже совпадает с наблюдаемыми тормозами в работе.( счёт порой идёт на сотни ошибок). Поиск на просторах интернета ничего вразумительного не дал.  Что это означает? И как это лечить?

Ответы

  • Если имеется в виду Page Fault то это не ошибки. Это просто значит что запрошеная страница (участок памяти размером 4К) была выгружена на диск и ее потребовалось загрузить в физическую память. Это совершенно нормальное явление в любых ОС с виртуальной памятью.

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

    Сотни страниц — это кстати пустяки.


    This posting is provided «AS IS» with no warranties, and confers no rights.

    • Помечено в качестве ответа

      8 декабря 2009 г. 8:34

Что это такое? Как понимать его показания? В справке не описано.
Это нормально, когда у программы он растет со скоростью 2-3 тыс единиц в секунду?

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
homm © ( 2007-05-01 14:42 ) [1]

> Что это такое? Как понимать его показания?

Да не паникуй ты так. Это количество страниц, к котрым онадобился доступ когда их не было в оперативной памяти. А если еще точнее, то количество страниц, к котрым онадобился доступ когда их не было в рабочем наборе приложения, что не значит что их не было в оперативе.


> Это нормально, когда у программы он растет со скоростью
> 2-3 тыс единиц в секунду?

Нет 🙂 Пора идти в магазин за оперативой 🙂

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
Eraser © ( 2007-05-01 14:42 ) [2]

> [0] DVM © (01.05.07 13:42)


> Что это такое?

это ошибка доступа к странице памяти, при её возникновении системы выгружает нужную страницу из файла подкачки в ОЗУ.

> Это нормально, когда у программы он растет со скоростью
> 2-3 тыс единиц в секунду?

не очень (хотя тут нужно смотреть конкретную ситуацию), нужно побольше ОЗУ.

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
homm © ( 2007-05-01 15:05 ) [3]

> Это нормально, когда у программы он растет со скоростью
> 2-3 тыс единиц в секунду?

Я счас подергал окошко оперы за края, погонял апатчь, до 5 тышь в секунду доходило. Вот же уродский оптимайзер памяти у винды 🙁 Так что пара тысячь в секунду — вполне нормально.

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
DVM © ( 2007-05-01 15:35 ) [4]

Я вот попытался локализовать в своей программе место, которое более всего увеличивает счетчик — оказалось это место в FastDIB. А именно:

procedure FastDIB2Bitmap(Src:TFastDIB;Dst:TBitmap);
begin
if Src.Handle<>0 then
begin
Dst.Handle:=Src.Handle;
// bitmaps can be selected for only one device context at a time
if(Src.hDC<>0)and Src.FreeDC then DeleteDC(Src.hDC);
if(Src.hPen<>0)then DeleteObject(Src.hPen);
if(Src.hFont<>0)then DeleteObject(Src.hFont);
if(Src.hBrush<>0)then DeleteObject(Src.hBrush);
Src.hDC:=0;
Src.FreeDC:=False;
Src.FreeBits:=False;
Src.FreeHandle:=False;
end;
end;

Вот такие преобразования моя программа делает до 200 в секунду.
Если я комментирую преобразование, то счетчик не растет практически.

Памяти 100% достаточно. Ее количество не влияет на этот счетчик. 2Гб ее.

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
Eraser © ( 2007-05-01 16:40 ) [5]

ну если это не дает лишней нагрузки на CPU — можно смело забить, если нагрузку дает — исключить вызов FastDIB2Bitmap.

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
antonn © ( 2007-05-01 16:43 ) [6]

щас может тупой вопрос задам:)
А так — procedure FastDIB2Bitmap(Src:TFastDIB; var Dst:TBitmap);
?

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
DVM © ( 2007-05-01 17:13 ) [7]


> ну если это не дает лишней нагрузки на CPU

Не нагрузки не дает абсолютно. Память не растет, никакие ресурсы не уменьшаются.


> щас может тупой вопрос задам:)
> А так — procedure FastDIB2Bitmap(Src:TFastDIB; var Dst:TBitmap);
>
> ?

Все то же самое.

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
Eraser © ( 2007-05-01 17:28 ) [8]

> [6] antonn © (01.05.07 16:43)

в Делфи идентификатор объекта является указателем на объект )

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
antonn © ( 2007-05-01 18:09 ) [9]


> в Делфи идентификатор объекта является указателем на объект
> )

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
Sapersky ( 2007-05-01 20:51 ) [10]

Я вот попытался локализовать в своей программе место, которое более всего увеличивает счетчик — оказалось это место в FastDIB.

По логике, нужно сначала всё освободить, потом присваивать Handle. Возможно, и освобождать необязательно, во всяком случае в примере Bumpmap сделано так:

procedure TBumpForm.SetThumbnail(Image:TImage; Bmp:TFastDIB);
var
Tmp: TFastDIB;
begin
Tmp:=TFastDIB.Create;
Tmp.SetSize(105,105,Bmp.Bpp);
if Tmp.Bpp=8 then
begin
Tmp.Colors^:=Bmp.Colors^;
Tmp.UpdateColors;
end;

Bilinear(Bmp,Tmp);
Tmp.FreeHandle:=False;
Image.Picture.Bitmap.Handle:=Tmp.Handle;
Tmp.Free;
Image.Refresh;
end;

А вообще, откуда надобность выполнять подобное преобразование 200 раз/c? Может лучше выкинуть TBitmap и выполнять все операции с TFastDIB? А то мне сейчас лень смотреть, но подозреваю, что в TBitmap.SetHandle куда больше действий, чем просто присвоение переменной.

Ещё, имейте в виду, что FastGate — это не оригинальный FastLIB. Автор этого модуля уже допускал ляпы при «улучшении» библиотеки, так что аккуратнее с ним (хотя, строго говоря, и «оригинал» не безгрешен).

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
DVM © ( 2007-05-01 22:03 ) [11]


> А вообще, откуда надобность выполнять подобное преобразование
> 200 раз/c?

Да есть вот задачи. Видеонаблюдение.


> Может лучше выкинуть TBitmap и выполнять все операции с
> TFastDIB?

Так и планирую сделать, но есть свои грабли и очень много вносить изменений. В принципе FastDIB тут прикручен из-за фантастически быстрой SetSize.


> TBitmap.SetHandle куда больше действий, чем просто присвоение
> переменной.

Да, там намного больше действий.


> Sapersky

Не подскажите, как правильно скопировать один TFastDIB в другой. Не Assign(), а именно копирование? У меня вот какая штука:

Во вторичном потоке происходит декодирование JPEG в TFastDIB. Далее этот FastDIB с сообщением высылается в основной поток и там преобразуется в TBitmap, который и отрисовывается при необходимости в основном потоке по WM_PAINT. Так сделано сейчас. Так вот получается, что и основной поток и вторичный на деле же работают с одним и тем же хэндлом одного и того же битмапа по сути. Ведь FastDIB2Bitmap просто присваивает хэндл. И пока первичный поток отрисовывает его на окне вторичный ведь может и поменять его содержимое. Или я неправ? Так можно делать или надо полностью копироваить битмап в основной поток и там работать с ним?

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
homm © ( 2007-05-01 22:06 ) [12]

Хм, а я кажеться понял почему так много ошибок доступа в этом месте. Потому что по Dst.Handle:=Src.Handle; Dst фактически заново создаеться, под новый битмап выделяеться память. А менеджер памяти в виндовсе имеет такое замечательное свойство, не выделять память физически, а лишь помечать страницы как зарезервированые. А вот когда уже на новый хэндл уже копируеться изображение со старого, идет непосредственное обращение к страницам, и они выделяются физически (в ОП), а счетчик ошибок доступа мотает. Так что эта строчка имхо — большая дыра в производительности. Попробуй как минимум создавать TBitmap как DIB, как максимум, здесь вобще нужно логику программы переделывать.

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
homm © ( 2007-05-01 22:11 ) [13]

> Так вот получается, что и основной поток и вторичный на
> деле же работают с одним и тем же хэндлом одного и того
> же битмапа по сути.

Скорее всего нет. Как я понимаю невозможно преобразовать DDB в DIB не выделив под него второй хэндл.

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
DVM © ( 2007-05-01 22:21 ) [14]


> Потому что по Dst.Handle:=Src.Handle; Dst фактически заново
> создаеться, под новый битмап выделяеться память

Да, получается, что так.


> Так что эта строчка имхо — большая дыра в производительности.

Может быть, но это далеко не самая тяжелая операция. Декодирование из JPEG во вторичных потоках занимает в тысячи раз больше времени.


> как максимум, здесь вобще нужно логику программы переделывать.

Я вот попробовал переделать на TFastDIB в основном потоке — проблема с ошибками страницы исчезла.

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
DVM © ( 2007-05-01 22:25 ) [15]

Возникла другая проблема — как мне правильно передать с сообщением переменную типа TFastDIB из вторичного потока в первичный с сообщением и присвоить полченное в основном потоке значение переменной в первичном потоке. Просто присваиванием очевидно нельзя — возникают сразу утечки GDI ресурсов (вот здесь отличие от TBITMAP).

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
Sapersky ( 2007-05-02 00:38 ) [16]

Не подскажите, как правильно скопировать один TFastDIB в другой. Не Assign(), а именно копирование?

Dst.MakeCopy(Src, True); // делается SetSize и Move
Или можно (при UseGDI = True) установить размер Dst = Src, потом
Src.Draw(Dst.hDC, 0, 0); // фактически BitBlt
удобно тем, что конвертирует битмапы разных форматов, хотя, как правило, не очень качественно. Впрочем, для этого есть FConvert.pas.

И пока первичный поток отрисовывает его на окне вторичный ведь может и поменять его содержимое. Так можно делать или надо полностью копироваить битмап в основной поток и там работать с ним?

Если вторичный поток не изменяет размер битмапа, т.е. не портит указатель/Handle, то, наверное, можно его спокойно рисовать, в крайнем случае нарисуется половина старого, половина нового. Хотя сам не пробовал, не знаю, как функции GDI отнесутся к тому, что кто-то будет писать в используемую ими область памяти. Можно на всякий случай прицепить к битмапу крит. секцию.
Если изменяет — тогда однозначно нужна или синхронизация, или копирование, или и то, и другое.

Просто присваиванием очевидно нельзя — возникают сразу утечки GDI ресурсов (вот здесь отличие от TBITMAP).
Что такое «присваивание»?
Если Assign — возможно, «аффтар» FastGate с ним напортачил в новой версии, пытаясь добиться того же поведения, что и у TBitmap. В оригинале это поведение довольно специфическое — битмап-источник уничтожается.
В общем, лучше «присваивание» делать как Dst := Src с соответствующей синхронизацией или MakeCopy.

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
Игорь Шевченко © ( 2007-05-02 10:29 ) [17]


> Вот же уродский оптимайзер памяти у винды

Слону, сам понимаешь, пофиг.

100 Ошибок страниц диск что это100 Ошибок страниц диск что это
DVM © ( 2007-05-02 13:00 ) [18]


> Sapersky (02.05.07 00:38) [16]

Большое спасибо. Метод TFastDib.MakeCopy() действительно то что нужно.

Счетчики ошибок страницы не растут. Утечек тоже нет. Как обстоят дела с производительностью такого решения выясняю.

Вот тут ответ на твой вопрос:
https://social.technet.microsoft.com/Forums/ru-RU/0e7cb14d-99b8-48bd-aa2c-00594afa2cad/1084108610851080109010861088?forum=vistaru
Если имеется в виду Page Fault то это не ошибки. Это просто значит что запрошеная страница (участок памяти размером 4К) была выгружена на диск и ее потребовалось загрузить в физическую память. Это совершенно нормальное явление в любых ОС с виртуальной памятью.

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

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

Алгоритмы с квантованием.

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

Алгоритмы с приоритетами.

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

В Windows реализован смешанный алгоритм планирования – вытесняющий, на основе квантования и приоритетов.

  1. Тип многозадачности для приложения DOS
  2. Гарантии обслуживания
  3. Планирование процессов переднего плана
  4. Назначение файла подкачки
  5. Процессы Р1, Р2, Р3 выделяют 100, 20, 80 Мб памяти. В системе 128Мб ОП. Каков размер занятой памяти в файле подкачки. Какой размер файла подкачки.
  1. Что такое «страничная ошибка»?

Прерывание 14 —Страничная ошибка(#PF): Intel386 …

Генерируется, если страничный механизм активизирован (CR0.PG = 1) и при трансляции линейного адреса в физический возникает одна из следующих ситуаций:

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

Обработчик страничной ошибки получает информацию о ее причине из двух источников: кода ошибки, помещаемого в стек, и содержимого регистра CR2, который содержит линейный адрес, вызвавший ошибку. Код страничной ошибки имеет специальный формат (рис. 3.7.).

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

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

  1. Высокая интенсивность ошибок страниц говорит о:

— ненадежности оперативной памяти

Графа «Ошибок отсутствия страницы в памяти/сек.»

В графе «Ошибок отсутствия страницы в памяти/сек.» (Hard Faults/sec) указано среднее за последнюю минуту количество ошибок отсутствия страницы в памяти в секунду. Если процесс пытается использовать больше физической памяти, чем доступно в данный момент времени, система записывает часть данных из памяти на диск — в файл подкачки. Последующее обращение к данным, сохраненным на диск, и называется ошибкой отсутствия страницы в памяти.

О чем говорят ошибки отсутствия страницы в памяти

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

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

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

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

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

  1. Как формируется приоритет потока в Windows

В ОС Windows реализовано вытесняющее приоритетное планирование, когда каждому потоку присваивается определенное числовое значение — приоритет, в соответствии с которым ему выделяется процессор. Потоки с одинаковыми приоритетами планируются согласно алгоритму Round Robin (карусель). Важным достоинством системы является возможность вытеснения потоков, работающих в режиме ядра — код исполнительной системы полностью реентерабелен. Не вытесняются лишь потоки, удерживающие спин-блокировку (см. Синхронизация потоков ). Поэтому спин-блокировки используются с большой осторожностью и устанавливаются на минимальное время.

В системе предусмотрено 32 уровня приоритетов. Шестнадцать значений приоритетов (16-31) соответствуют группе приоритетов реального времени, пятнадцать значений (1-15) предназначены для обычных потоков, и значение 0 зарезервировано для системного потока обнуления страниц (см. рис. 6.2).

100 Ошибок страниц диск что это

Рис. 6.2.Приоритеты потоков

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

  • реального времени ( REALTIME_PRIORITY_CLASS ) — 24
  • высокий ( HIGH_PRIORITY_CLASS ) — 13
  • выше нормы ( ABOVE_NORMAL_PRIORITY_CLASS ) 10
  • нормальный ( NORMAL_PRIORITY_CLASS ) — 8
  • ниже нормы ( BELOW_NORMAL_PRIORITY_CLASS ) — 6
  • и неработающий ( IDLE_PRIORITY_CLASS ) 4

Относительный приоритет потока устанавливается аналогичными параметрами функции SetThreadPriority:

Совокупность из шести классов приоритетов процессов и семи классов приоритетов потоков образует 42 возможные комбинации и позволяет сформировать так называемый базовый приоритет потока

Базовый приоритет процесса и первичного потока по умолчанию равен значению из середины диапазонов приоритетов процессов (24, 13, 10, 8, 6 или 4). Смена приоритета процесса влечет за собой смену приоритетов всех его потоков, при этом их относительные приоритеты остаются без изменений.

Приоритеты с 16 по 31 в действительности приоритетами реального времени не являются, поскольку в рамках поддержки мягкого реального времени, которая реализована в ОС Windows, никаких гарантий относительно сроков выполнения потоков не дается. Это просто более высокие приоритеты, которые зарезервированы для системных потоков и тех потоков, которым такой приоритет дает пользователь с административными правами. Тем не менее, наличие приоритетов реального времени, а также вытесняемость кода ядра, локализация страниц памяти (см. Функционирование менеджера памяти ) и ряд дополнительных возможностей — все это позволяет выполнять в среде ОС Windows приложения мягкого реального времени, например, мультимедийные. Системный поток с нулевым приоритетом занимается обнулением страниц памяти. Обычные пользовательские потоки могут иметь приоритеты от 1 до 15.

Содержание

    • Статьи к прочтению:
  • Пусть говорят — «Вы мне не верили, а я умерла»Выпуск от 11.09.217
    • Похожие статьи:
  • Рекомендуем к прочтению

Статьи к прочтению:

Пусть говорят — «Вы мне не верили, а я умерла»Выпуск от 11.09.217

Похожие статьи:

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

На рис. 10 показана схема страничного распределения памяти. Виртуальное адресное пространство каждого процесса делится на части одинакового,…

Какое допустимое количество ошибок страницы физической памяти?

Есть небольшой сервер под управлением Windows Server 2016.
После замены планки памяти наблюдаю в мониторе ресурсов много «ошибок страницы физической памяти»:
5d8e53aef3bc8794905904.png
Допустимы ли такие значения, или планка битая и лучше её заменить?


  • Вопрос задан

    более трёх лет назад

  • 13400 просмотров

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

Пригласить эксперта


  • Показать ещё
    Загружается…

30 янв. 2023, в 21:42

10000 руб./за проект

30 янв. 2023, в 20:37

10000 руб./за проект

30 янв. 2023, в 20:30

3000 руб./за проект

Минуточку внимания

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

Что такое Жесткие ошибки в секунду? Как это исправить

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

Что вызывает серьезные сбои со свободной памятью?

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

Помимо проблем с памятью, число выше обычного (20 или меньше, учитывая объем вашей оперативной памяти) является проблемой для вас. Это может быть вызвано различными причинами, перечисленными ниже:

  • Жесткие ошибки в секунду возникают, когда адресная память конкретной программы была переключена на основной файл подкачки, а не на слот основной памяти. Это приводит к замедлению работы ПК и повышению активности жесткого диска из-за попыток найти недостающую память.
  • Кроме того, проблема высоких аппаратных сбоев может возникнуть во время перегрузки жесткого диска. В этом случае жесткий диск продолжает работать на полной скорости, пока на вашем компьютере происходит перегрузка диска или когда программа перестает отвечать на запросы.
  • Кроме того, серьезные сбои могут возникнуть при одновременном запуске слишком большого количества программ на ПК.

Что такое серьезные сбои монитора ресурсов Windows?

Монитор ресурсов является важным инструментом для ПК, который передает информацию о потоках данных в режиме реального времени о важных системах, работающих на вашем компьютере. Утилита чрезвычайно полезна для мониторинга состояния вашей системы и устранения проблем, связанных с ее производительностью. Вы можете проверить наличие и распределение нескольких ресурсов в вашей системе с помощью монитора ресурсов. Вы также можете проверить информацию об использовании оборудования, включая память, ЦП, диск и сеть, а также программное обеспечение, включая дескрипторы файлов и модули. В разделе «Память» вы, скорее всего, проверите количество серьезных сбоев в секунду, представляющее процент используемой физической памяти. В общем, Resource Monitor — удивительно важная утилита во всех версиях Windows.

Как исправить серьезные ошибки памяти в секунду

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

Способ 1: добавить больше оперативной памяти

Как мы уже обсуждали, основной причиной большего количества серьезных сбоев в секунду является нехватка оперативной памяти. Следовательно, чтобы решить проблему серьезных сбоев, вам нужно больше оперативной памяти. Чем больше у вас их, тем меньше серьезных ошибок в секунду вы будете сталкиваться. Для этого вы можете начать с проверки конфигурации вашей системы, чтобы узнать, достаточно ли у вас оперативной памяти в текущей версии Windows. Если вы не соответствуете требованиям (для 64-битной версии требуется в два раза больше памяти, чем для 32-битной версии), вам необходимо купить дополнительную оперативную память или добавить больше на свой компьютер. Вы можете ознакомиться с нашим руководством о том, как увеличить объем оперативной памяти в Windows 7 и 10.

Кроме того, чтобы увеличить видеопамять (VRAM), вы можете ознакомиться с нашим руководством по 3 способам увеличения выделенной видеопамяти в Windows 10.

Способ 2: повторно включить Pagefile.sys

В случае, если у вас возникли серьезные проблемы со свободной памятью, этот метод поможет вам решить проблему довольно эффективно. Это включает в себя отключение и повторное включение Pagefile.sys. Ваш ПК с Windows предназначен для использования файла подкачки.

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

Вот как вы можете сначала отключить, а затем снова включить Pagefile.sys:

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

1. Откройте проводник, одновременно нажав клавиши Windows + E.

2. Теперь щелкните правой кнопкой мыши «Этот компьютер» и выберите «Свойства» в меню.

3. Нажмите Дополнительные параметры системы на боковой панели.

4. На вкладке «Дополнительно» нажмите «Настройки…» в разделе «Производительность».

5. Теперь на вкладке «Дополнительно» нажмите кнопку «Изменить…».

6. Затем снимите флажок Автоматически управлять размером файла подкачки для всех дисков.

7. Теперь выберите диск, для которого вы хотите отключить Pagefile.sys, и выберите «Нет файла подкачки».

8. Затем нажмите Set > OK, чтобы сохранить изменения.

9. После этого перезагрузите компьютер, чтобы изменения вступили в силу.

10. Наконец, вы можете снова включить Pagefile.sys с помощью шагов, описанных выше.

Способ 3: определить сборщик ресурсов и завершить дерево процессов

Если вы все еще боретесь с серьезными сбоями монитора ресурсов Windows, вы должны попытаться определить программу, которая увеличивает число серьезных сбоев в секунду. Этот процесс несет ответственность за слишком много памяти на вашем ПК и, следовательно, является виновником. С помощью Resource Monitor вы можете легко найти основной процесс, ответственный за эту ситуацию. Итак, следуйте инструкциям ниже, чтобы найти пожиратель ресурсов в вашей системе:

1. Нажмите одновременно клавиши Ctrl + Shift + Esc, чтобы запустить диспетчер задач.

2. Перейдите на вкладку «Производительность» и нажмите «Открыть монитор ресурсов».

3. На вкладке «Память» окна «Монитор ресурсов» щелкните столбец «Серьезные сбои».

4. Теперь проверьте процесс, замедляющий работу вашего ПК, и щелкните его правой кнопкой мыши.

5. Выберите в меню Завершить дерево процессов, чтобы завершить задачу.

Примечание. Если программа не важна, ее можно удалить.

Часто задаваемые вопросы (FAQ)

Q1. Сколько серьезных ошибок в секунду является нормальным?

Ответ В среднем 20 или менее серьезных ошибок в секунду являются нормальными, в зависимости от оперативной памяти вашей системы.

Q2. Часто ли возникают серьезные сбои памяти?

Ответ Да. Жесткие ошибки памяти распространены и являются частью обработки памяти. Их не следует воспринимать как ошибки. Они означают, что блочная память должна была быть извлечена из виртуальной памяти, а не из ОЗУ.

Q3. Как я могу отслеживать отказы жестких страниц?

Ответ Сбои жесткой страницы можно отслеживать с помощью консоли Performance Monitor (Perfmon). Он представляет собой кумулятивное количество ошибок страниц в системе.

Q4. Что приводит к зависанию диска?

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

Q5. В чем причина высокого использования памяти?

Ответ Высокое использование памяти в системе является результатом перегрузки многих внутренних процессов.

***

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

Вытесняющие/невытесняющие алгоритмы.

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

Алгоритмы с квантованием.

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

Алгоритмы с приоритетами.

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

В Windows реализован смешанный алгоритм планирования – вытесняющий, на основе квантования и приоритетов.

  1. Тип многозадачности для приложения DOS
  2. Гарантии обслуживания
  3. Планирование процессов переднего плана
  4. Назначение файла подкачки
  5. Процессы Р1, Р2, Р3 выделяют 100, 20, 80 Мб памяти. В системе 128Мб ОП. Каков размер занятой памяти в файле подкачки. Какой размер файла подкачки.
  1. Что такое «страничная ошибка»?

Прерывание 14 —Страничная ошибка(#PF): Intel386 …

Генерируется, если страничный механизм активизирован (CR0.PG = 1) и при трансляции линейного адреса в физический возникает одна из следующих ситуаций:

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

Обработчик страничной ошибки получает информацию о ее причине из двух источников: кода ошибки, помещаемого в стек, и содержимого регистра CR2, который содержит линейный адрес, вызвавший ошибку. Код страничной ошибки имеет специальный формат (рис. 3.7.).

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

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

  1. Высокая интенсивность ошибок страниц говорит о:

— ненадежности программы

— ненадежности оперативной памяти

— иное: пояснить

Графа «Ошибок отсутствия страницы в памяти/сек.»

В графе «Ошибок отсутствия страницы в памяти/сек.» (Hard Faults/sec) указано среднее за последнюю минуту количество ошибок отсутствия страницы в памяти в секунду. Если процесс пытается использовать больше физической памяти, чем доступно в данный момент времени, система записывает часть данных из памяти на диск — в файл подкачки. Последующее обращение к данным, сохраненным на диск, и называется ошибкой отсутствия страницы в памяти.

О чем говорят ошибки отсутствия страницы в памяти

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

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

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

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

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

  1. Как формируется приоритет потока в Windows

Приоритеты

В ОС Windows реализовано вытесняющее приоритетное планирование, когда каждому потоку присваивается определенное числовое значение — приоритет, в соответствии с которым ему выделяется процессор. Потоки с одинаковыми приоритетами планируются согласно алгоритму Round Robin (карусель). Важным достоинством системы является возможность вытеснения потоков, работающих в режиме ядра — код исполнительной системы полностью реентерабелен. Не вытесняются лишь потоки, удерживающие спин-блокировку (см. Синхронизация потоков ). Поэтому спин-блокировки используются с большой осторожностью и устанавливаются на минимальное время.

В системе предусмотрено 32 уровня приоритетов. Шестнадцать значений приоритетов (16-31) соответствуют группе приоритетов реального времени, пятнадцать значений (1-15) предназначены для обычных потоков, и значение 0 зарезервировано для системного потока обнуления страниц (см. рис. 6.2).

Рис. 6.2.Приоритеты потоков

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

  • реального времени ( REALTIME_PRIORITY_CLASS ) — 24
  • высокий ( HIGH_PRIORITY_CLASS ) — 13
  • выше нормы ( ABOVE_NORMAL_PRIORITY_CLASS ) 10
  • нормальный ( NORMAL_PRIORITY_CLASS ) — 8
  • ниже нормы ( BELOW_NORMAL_PRIORITY_CLASS ) — 6
  • и неработающий ( IDLE_PRIORITY_CLASS ) 4

Относительный приоритет потока устанавливается аналогичными параметрами функции SetThreadPriority:

Совокупность из шести классов приоритетов процессов и семи классов приоритетов потоков образует 42 возможные комбинации и позволяет сформировать так называемый базовый приоритет потока

Базовый приоритет процесса и первичного потока по умолчанию равен значению из середины диапазонов приоритетов процессов (24, 13, 10, 8, 6 или 4). Смена приоритета процесса влечет за собой смену приоритетов всех его потоков, при этом их относительные приоритеты остаются без изменений.

Приоритеты с 16 по 31 в действительности приоритетами реального времени не являются, поскольку в рамках поддержки мягкого реального времени, которая реализована в ОС Windows, никаких гарантий относительно сроков выполнения потоков не дается. Это просто более высокие приоритеты, которые зарезервированы для системных потоков и тех потоков, которым такой приоритет дает пользователь с административными правами. Тем не менее, наличие приоритетов реального времени, а также вытесняемость кода ядра, локализация страниц памяти (см. Функционирование менеджера памяти ) и ряд дополнительных возможностей — все это позволяет выполнять в среде ОС Windows приложения мягкого реального времени, например, мультимедийные. Системный поток с нулевым приоритетом занимается обнулением страниц памяти. Обычные пользовательские потоки могут иметь приоритеты от 1 до 15.

Статьи к прочтению:

  • Оделирование в сапр. пакет nastran.
  • Одели случайных и хаотических блужданий.

Пусть говорят — «Вы мне не верили, а я умерла»Выпуск от 11.09.217

Похожие статьи:

  • Размещение памяти с перемещаемыми разделами.

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

  • Страничное распределение памяти

    На рис. 10 показана схема страничного распределения памяти. Виртуальное адресное пространство каждого процесса делится на части одинакового,…

Понравилась статья? Поделить с друзьями:
  • Монеты ошибки современной россии
  • Мониторинг ошибок приложений
  • Монетоприемник j2000 сброс ошибок
  • Мониторинг ошибок windows 10
  • Монетоприемник currenza c2 green сброс ошибок