3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

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

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

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

Каждому потоку предоставляется квант времени, в течение которого поток может выполняться на процессоре. По истечении кванта операционная система переключает процессор на следующий поток в очереди. Квант обычно равен целому числу интервалов системного таймера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).

Читать еще:  Ошибка 127 при запуске itunes

Рис. 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 показана схема страничного распределения памяти. Виртуальное адресное пространство каждого процесса делится на части одинакового,…

Решение существует

По мнению ряда пользователей, проблема с выключением Windows 7 может быть связана со сбоем в работе «Контроля учетных записей» (UAC, user account control). Пока Microsoft не выпустила патч, устраняющий его, для выключения и перезагрузки ПК можно применять не совсем удобный, но доказавший свою эффективность алгоритм.

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

В ряде случаев избежать появления окна с предупреждением об отсутствии прав можно при помощи комбинации клавиш Ctrl+Alt+Del – в правом нижнем углу появившегося окна будет кнопка выключения и перезагрузки. Данный способ может работать не на всех версиях ОС.

Монитор ресурсов Windows 8: вкладка «Сеть»

В данной вкладке, как и во всех остальных, область также разделена на графическую часть и на списки. Для начала – описание списков (сверху-вниз):

«Процессы с сетевой активностью»

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

  • Образ – имя исполняемого файла. Это также и имя процесса, который использует сетевое подключение.
  • ИД процесса – идентификатор процесса.
  • Отправлено (байт/с) – показывает усредненное количество байт, отправленное процессом по сети в последнюю минуту.
  • Получено (байт/с) – отображает среднее количество байт, полученное процессом через сеть за последнюю минуту.
  • Всего (байт/с) – средняя сетевая активность процесса за последнюю минуту.

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

В данном разделе отображаются сведения об активности сети. Справа от названия блока содержатся два индикатора:

  • Сетевой ввод/вывод – показывает текущее потребление сетевых ресурсов в мегабитах в секунду.
  • Использование сети – отображает сведения о суммарном использовании ресурсов сети в виде единого показателя. Он и показывает, насколько сильно в данный момент задействована сеть.

Ниже располагается еще ряд показателей. Из них неизвестен только один:

  • Адрес – имя или IP-адрес компьютера, с которым процесс обменивается информацией.

Данный блок содержит в себе следующие параметры:

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

В данном блоке содержится информация о процессе, адресе отправке/получения, а также протоколе:

  • Адрес – случается так, что службы привязаны к определенным IP-адресам. Если адрес службы не определен, то в данном столбце можно видеть надпись «[Версия протокола IP] не задан».
  • Протокол – может принимать значения UDP и TCP. UDP – протокол пользовательских дейтаграмм, а TCP – механизм, который гарантированно доставит пакет и проверит статус доставки, в то время, когда UDP просто отправит пакет по какому-либо адресу.
  • Состояние брандмауэра – может принимать значения: Разрешено или Запрещено.
Читать еще:  Ошибка 0x80071ac3 при записи на флешку

На данной вкладке представлено несколько графиков (количество зависит от количества сетевых карт, установленных в компьютере). Самый верхний график – Сеть. Он показывает используемую пропускную способность сети за последнюю минуту. График TCP-подключения служит для отображения количества созданных TCP-подключений. Опять же – если новосозданных подключений слишком много, это свидетельствует о наличии вирусов или шпионских программ.

Способы предотвращения проблем нехватки памяти

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

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

    Увеличьте объем файла подкачки (виртуальной памяти) Когда в компьютере впервые возникает проблема нехватки памяти Windows пытается автоматически увеличить файл подкачки. Пользователь также может вручную установить максимальный размер этого файла в зависимости от объема установленного ОЗУ. Увеличение размера файла подкачки позволяет предотвратить проблемы нехватки памяти, но также может привести и к замедленной работе приложений. Поскольку из ОЗУ информация считывается намного быстрее, чем с жесткого диска (на котором расположен файл подкачки), слишком большой объем виртуальной памяти может привести к снижению быстродействия программ. Для изменения размера файла подкачки жмем Win + Pause/Break или ПускПанель управленияСистема и выбираем Дополнительные параметры системы.

В свойствах системы выбираем Дополнительно — Быстродействие — Параметры.

В Параметрах быстродействия выбираем Дополнительно — Виртуальная память — Изменить

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

Если стоит два жестких диска в системе., то файл подкачки можно вообще перенести на второй физический диск, что так же повлияет на производительность компьютера. Для установки размера файла подкачки, рекомендуется определять объем равный 1,5 от объема оперативной памяти, установленной в компьютере (для повседневных задач) Для игр рекомендуется установить 2 — 2,5.

  • Установите дополнительный модуль ОЗУ. При появлении признаков нехватки памяти или предупреждений ОС Windows о данной проблеме обратитесь к документации к компьютеру или к его изготовителю и выясните, какой тип ОЗУ совместим с компьютером, а затем установите дополнительный модуль оперативной памяти. Перед установкой ОЗУ ознакомьтесь с документацией изготовителя.
  • Проверьте, не использует ли программа слишком много памяти. Если во время работы определенных программ в компьютере наблюдается нехватка памяти, возможно, в одной или нескольких программах имеет место утечка памяти. Чтобы остановить утечку памяти, необходимо завершить работу соответствующей программы. Для решения проблемы утечек памяти установите обновления для программы (при наличии таковых) или обратитесь к издателю программного обеспечения.
  • Чтобы определить, какая из программ использует больше всего памяти, выполните следующие действия

    1. Откройте диспетчер задач. Для этого щелкните правой кнопкой мыши панель задач и выберите пункт Диспетчер задач.
    2. Откройте вкладку Процессы
    3. Чтобы отсортировать программы по используемой памяти, щелкните Память (Частный рабочий набор)

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

    1. Откройте раздел «Просмотр событий». Для этого нажмите кнопку Пуск — Панель управления — Администрирование, затем дважды щелкните Просмотр событий.‌ При появлении запроса пароля администратора или подтверждения введите пароль или предоставьте подтверждение.
    2. В левой панели выберите Журналы приложений и служб для просмотра ошибок. Чтобы просмотреть описание проблемы, щелкните ее дважды. Если есть ссылка на электронную справку, значит можно просмотреть сведения по устранению проблемы.

    Как переместить файл подкачки

    1. Откройте компонент панели управления Система и щелкните ссылку Дополнительные параметры системы.
    2. В разделе Быстродействие нажмите кнопку Параметры, перейдите на вкладку Дополнительно и в разделе Виртуальная память нажмите кнопку Изменить. Откроется окно, как показано на рисунке ниже.

      Обратите внимание на значение рекомендуемого размера для файла подкачки.
    3. Снимите флажок Автоматически выбирать объем файла подкачки, если установлен.
    4. В списке Диск [метка тома] выберите раздел, на который вы планируете перенести файл подкачки, и установите переключатель Указать размер.
    5. Введите в поле Исходный размер значение рекомендуемого размера, а в поле Максимальный размер — желаемое значение, которое не должен превышать размер файла подкачки. Нажмите кнопку Задать.
      Файл подкачки размещен на выбранном вами разделе. Теперь нужно определиться с тем, что делать с файлом подкачки на системном разделе.
    6. В списке Диск [метка тома] выберите раздел, на который установлена Windows (как правило, ему назначается буква C). Дальше вы можете выбрать один из двух вариантов.
      • A) Если вы не хотите иметь на системном разделе файл подкачки, установите переключатель Без файла подкачки и нажмите кнопку Задать. Система предупредит вас о невозможности записи отладочных данных (дампов памяти) при отсутствии файла подкачки примерно таким сообщением, как показано на рисунке ниже.
        Обратите внимание, что в сообщении указывается минимальный размер файла подкачки, который необходим для создания дампов памяти. Нажмите кнопку Да.
      • Б) Если вы хотите иметь на системном разделе файл подкачки минимального размера и сохранить возможность диагностики в случае возникновения критических ошибок (BSOD), выполните действия из пункта А), чтобы определить минимальное значение для размера файла подкачки, позволяющее записывать отладочные данные. Затем установите переключатель Указать размер. Введите в поле Исходный размер значение равное или превышающее значение, указаннное в качестве минимального для записи дампов памяти. Введите в поле Максимальный размер такое же значение, как в поле Исходный размер, и нажмите кнопку Задать. Расположение файла подкачки на системном разделе сконфигурировано.

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

  • Нажмите кнопку ОК. Система предупредит вас о необходимости перезагрузки компьютера для вступления изменений в силу. Нажимайте ОК, пока не появится предложение перезагрузить компьютер.
  • Что Монитор ресурсов может починить?

    Ничего. Монитор ресурсов не является ремонтной утилитой системы, однако является прекрасным инструментом предоставления отчётности. При этом является развёрнутым вариантом или своеобразным “аналогом” Диспетчера задач с некоторыми похожими функциями. Так, Монитор ресурсов способен не только приостанавливать выбранные процессы, но и выдавать отчёт по тем, что зависли во время выполнения. Более того, по каждому процессу из списка можно будет получить справку: нажмите правой мышкой по любому процессу, выберите Поиск в интернете, и браузер по умолчанию ответит поисковой выдачей по этому процессу.


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

    Причины, вызывающие ошибку

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

    • Вы открыли очень много всего, в результате чего возникла проблема с тем, что на компьютере недостаточно памяти — как исправить эту ситуацию я рассматривать не будет, так как тут все ясно: закройте то, что не нужно.
    • У вас действительно мало оперативной памяти (2 Гб и меньше. Для некоторых ресурсоемких задач может быть мало и 4 Гб RAM).
    • Жесткий диск заполнен под завязку, соответственно на нем не остается достаточного места для виртуальной памяти при автоматической настройке размера файла подкачки.
    • Вы самостоятельно (или с помощью какой-то программы оптимизации) настраивали размер файла подкачки (или отключили его) и он оказался недостаточным для нормальной работы программ.
    • Какая-то отдельная программа, вредоносная или нет, вызывает утечку памяти (постепенно начинает использовать всю доступную память).
    • Проблемы с самой программой, которая вызывает появление ошибки «недостаточно памяти» или «недостаточно виртуальной памяти».

    Если не ошибаюсь, пять описанных вариантов являются наиболее распространенными причинами ошибки.

    Виды оперативной памяти

    Все виды оперативной памяти делятся на три больших группы: оперативная память DDR, DDR2 и DDR3. Аббревиатура расшифровывается как double data rate, т. е. «двойная скорость передачи данных».

    • Оперативка DDR уже почти исчезла из носителей, так как ее скорости слишком низкие.
    • DDR2 является самой распространенной. Позволяет делать выборку из 4 бит данных одновременно.
    • Оперативная память DDR3 на данный момент приобретает популярность, так как потребляет энергии почти в 2 раза меньше предыдущего вида.

    Как узнать свою оперативную память? Это относительно просто: обычно фирма-производитель непосредственно на самой оперативной памяти ставит маркер, в котором указан объем и тип оперативной памяти. Наклейка обычно находится на планке оперативной памяти. Если Вы не являетесь продвинутым пользователем своего компьютера или ноутбука, мы настоятельно рекомендуем Вам доверить диагностику оперативной памяти своего компьютера профессионалам. Если лезть в корпус ноутбука или компьютера для Вас не впервые, помните, что важно правильно суметь ее прочитать. К примеру, на Вашей плате указано 4GB PC3 — 12800. Первая часть указывает объем, 4 гигабайта. PC3 — это пропускная способность.

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

    Очередная проблема Windows 7

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

    14 января 2020 г., в день прекращения поддержки, Microsoft, как сообщал CNews, выпустила прощальный общедоступный патч для этой ОС с индексом KB4534310, установка которого приводила к невозможности установки обоев на рабочий стол в параметром «Растянуть». В этом случае после перезагрузки ПК вместо выбранного изображения пользователи наблюдали черный экран, и процедуру приходилось проводить повторно.

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

    По данным Microsoft, корпоративные клиенты (представители сегмента SMB наравне с крупным бизнесом) смогут поддерживать свою Windows 7 в актуальном состоянии до января 2023 г. в рамках сервиса Extended Security Update (ESU). Подписка на него продается с 1 декабря 2019 г. и до конца 2020 г. стоит $25 для каждого ПК в отдельности. В 2021 г. цена вырастет до $50, а в 2022 г. – до $100.

    Ссылка на основную публикацию
    Статьи c упоминанием слов:
    Adblock
    detector