Оперативная память
Устранение ошибок памяти
- Подробности
- Родительская категория: Оперативная память
- Категория: Прочая информация про оперативную память
Устранить ошибки памяти довольно сложно, поскольку не всегда удается идентифициро
вать вызвавшую их проблему. Чаще всего пользователи винят во всех сбоях программное обеспечение, хотя на самом деле во всем виновата память. В этом разделе речь пойдет о выявлении ошибок памяти и способах их устранения.
Для устранения ошибок памяти необходимо иметь под рукой несколько диагностических программ. Следует отметить, что некоторые ошибки памяти могут быть выявлены одной программой и остаться невидимыми для другой. При включении компьютера системная BIOS проверяет память. В большинстве случаев к компьютеру прилагается компакт-диск, содержащий специальные программы диагностики. Также на рынке можно встретить множество других диагностических утилит, практически каждая из которых содержит свои тесты памяти.
При запуске компьютера тест POST не только проверяет память, но и вычисляет ее объем. Затем этот объем памяти сравнивается с записанным в параметрах BIOS и в случае несоответствия генерируется сообщение об ошибке. При проверке памяти тест POST записывает в каждый из блоков памяти некоторый шаблон, а затем считывает его и сверяет с оригиналом. При обнаружении ошибок выводится соответствующее сообщение или генерируется звуковой сигнал. Звуковой сигнал, как правило, используется для индикации критических ошибок в областях, важных для выполнения системных операций. Если система может получить доступ к объему памяти, достаточному для запуска видеосистемы, вместо звукового сигнала будет отображено сообщение об ошибке.
На прилагаемом к книге компакт-диске содержится подробный перечень звуковых сигналов BIOS и кодов ошибок, характерных для той или иной BIOS, в формате PDF. К примеру, в большинстве материнских плат Intel используется Phoenix BIOS, которая для индикации критических ошибок использует несколько звуковых кодов.
Если процедура POST не обнаружила ошибок памяти, следовательно, причина возникновения ошибок лежит не в аппаратной среде, или программа POST не справилась со своей задачей. Нерегулярные ошибки зачастую не обнаруживаются POST, что справедливо и для других аппаратных дефектов. Данная процедура проводится достаточно быстро и не претендует на тщательный анализ. Поэтому для доскональной проверки применяется загрузка DOS, режим консоли восстановления в Windows XP или диагностический диск. Тесты такого рода могут в случае необходимости проводиться в течение нескольких дней для определения неуловимого дефекта.
В Интернете доступно множество хороших бесплатных программ тестирования памяти.
- Microsoft Windows Memory Diagnostic (http://oca.microsoft.com/en/windiag)
- DocMemory Diagnostic (http://www.simmtester.com/page/products/doc/docinfo.asp)
- Memtest86 (http://www.memtest86.com)
Следует отметить, что все эти утилиты имеют загружаемый формат, т.е. их не нужно устанавливать в тестируемой системе, а достаточно записать на загрузочный компакт-диск. Это связано с тем, что многие операционные системы, работающие в защищенном режиме, в частности Windows, пресекают прямой доступ к памяти и другим устройствам. По этой причине загрузку системы нужно выполнять с компакт-диска. Все эти программы используют алгоритмы, записывающие определенные шаблоны в различные области системной памяти, после чего считывают их и проверяют на совпадение каждый бит. При этом они отключают системный кэш, чтобы результат операции отражал поведение модулей памяти, без каких-либо посредников. Некоторые утилиты, в частности Windows Memory Diagnostic, даже способны указать на конкретный модуль памяти, в котором произошла ошибка.
Однако эти программы могут только записать данные и проверить при считывании их соответствие, не более того. Они не определяют, насколько близка память к критической точке сбоя. Повышенный уровень диагностики памяти обеспечивают только специальные аппаратные тестеры модулей SIMM/DIMM. Эти устройства позволяют вставить в них модуль памяти и проверить ее на множестве скоростей, при разных напряжениях питания и таймингах, в результате чего выдать свой вердикт относительно пригодности модуля. Существуют версии таких тестеров, позволяющие проверять модули памяти практически всех типов, начиная от ранних версий SIMM и заканчивая самыми современными модулями DDR DIMM и RIMM. К примеру, я сталкивался с модулями, которые отлично работали в одних компьютерах и выдавали ошибки в других. Это значит, что одни и те же программы диагностики, запущенные на разных компьютерах, выдавали для одних и тех же модулей памяти противоположные результаты. В аппаратных тестерах источник ошибки можно выявить с точностью до конкретного бита, при этом узнать реальное быстродействие памяти, а не номинальное, указанное на маркировке. К числу компаний, которые занимаются реализацией тестеров модулей памяти, относятся Tanisys (www.tanisys.com), CST (www.simmtester.com) и Aristo (www.memorytester.com). Предлагаемые тестеры довольно дорого стоят, но для специалистов, занимающихся ремонтом ПК на профессиональном уровне, тестеры SIMM/DIMM просто необходимы.
Чаще всего память служит причиной следующих ошибок:
- ошибки четности, генерируемые системной платой;
- общие ошибки защиты, вызванные повреждением данных запущенной программы в памяти, что приводит к остановке приложения (часто они вызваны ошибками программ);
- критические ошибки исключений, возникающие при выполнении программой недопустимых инструкций, при доступе к некорректным данным или некорректном уровне привилегий операции;
- ошибки деления, вызванные попыткой деления на нуль, которая приводит к невозможности записи результата в регистр памяти.
Некоторые из приведенных типов ошибок могут быть следствием аппаратных (сбои в цепи питания, статические заряды и т.д.) или программных (некорректно написанные драйверы устройств, ошибки в программах и т.д.) сбоев.
Если причиной возникновения ошибок является оперативная память, следует воспользоваться помощью либо одной программы тестирования, либо нескольких диагностических приложений.
Многие допускают существенную ошибку в использовании диагностических программ,например выполняют диагностику с включенным системным кэшированием. Это затрудняет тестирование, поскольку в большинстве систем используется так называемый кэш с обратной записью. Принцип его работы состоит в том, что данные, записываемые в основную память, в первую очередь записываются в кэш. Поскольку диагностическая программа изначально записывает данные и затем сразу же их считывает, данные считываются из кэша, а не из основной памяти. При этом тестирование проводится очень быстро, но проверке подвергается лишь сам кэш. Таким образом, обязательно отключайте кэширование перед тестированием оперативной памяти. Компьютер будет работать довольно медленно, диагностика отнимет на порядок больше времени, однако проверяться будет именно оперативная память, а не кэш.
При проверке памяти придерживайтесь алгоритма, схематически показанного на рисунке ниже.
Теперь ознакомимся с процедурой проверки и устранения ошибок памяти.
- Включите систему и проследите за выполнением процедуры POST. Если этот тест завершается без ошибок, следовательно, основные параметры памяти успешно проверены. При обнаружении ошибок перейдите к выполнению процедуры локализации дефектов.
- Перезапустите систему и войдите в программу настройки BIOS. Для этого во время выполнения POST (но до начала процесса загрузки) нажмите клавишу <F2>. Проверьте в параметрах BIOS, совпадает ли объем обнаруженной и установленной памяти. В том случае, если вычисленный объем памяти не соответствует установленному, обратитесь к процедуре локализации дефектов.
- В программе настройки BIOS отключите параметры кэширования. На рисунке ниже представлено типичное меню Advanced BIOS Features, в котором выделены параметры кэш-памяти. Сохраните выполненные изменения и загрузите компьютер с отформатированной системной дискеты, содержащей выбранные диагностические программы. Если в комплект поставки компьютера входил компакт-диск с программами диагностики, можете воспользоваться им. К тому же на рынке доступно множество коммерческих программ диагностики, таких как PC-Technician от Windsor Technologies, Norton System Works от Symantec и Doc Memory от SIMMTester.
- Следуя инструкциям, появляющимся при выполнении диагностической программы, протестируйте основную и дополнительную (XMS) память. Обычно в таких программах существует специальный режим, допускающий непрерывное циклическое выполнение диагностических процедур. Это позволяет обнаружить периодические ошибки. При выявлении ошибок памяти перейдите к выполнению процедуры локализации дефектов.
- Отсутствие ошибок при выполнении POST или во время более полного тестирования памяти говорит о ее нормальном функционировании на аппаратном уровне. Перезагрузите компьютер и установите предыдущие параметры памяти в настройках BIOS, в частности включите параметр использования кэш-памяти.
- Отсутствие выявленных ошибок при наличии каких#либо проблем говорит о том, что существующие ошибки памяти не могут быть обнаружены стандартными методами или же их причина, вероятно, связана с программным обеспечением. Для более полной проверки модулей SIMM/DIMM на аппаратном тестере обратитесь в сервисный центр. Я бы обратил внимание и на программное обеспечение (в частности, на версии драйверов), блок питания, а также на системное окружение, особенно на источники статического электричества, радиопередатчики и т.п.
Выбирайте на страницах сайта услуги разных индивидуалок. Все индивидуалки Пятигорска доступны к взятию в способное для потребителей время. В качестве их услуг затруднений нет!.
Вы видите сообщение «Память отключена. Ваше устройство может быть уязвимым». ошибка и не можете включить эту функцию на ПК с Windows 11? Установленные драйверы устройств могут быть неисправны, что приводит к этой проблеме. Вот несколько способов исправить поврежденные драйверы и другие причины этой проблемы на вашем компьютере.
Другие причины, по которым вы видите вышеуказанную ошибку, заключаются в том, что ваше приложение безопасности Windows неисправно, у вас есть проблемные сторонние приложения, системные файлы Windows повреждены и т. д.
Quickly fix Windows 11, 10, 8 and 7 errors with Outbyte PC Repair
Take the bull by the horns: identify and fix performance issues that may be affecting your PC.
Outbyte PC Repair is a comprehensive computer repair tool designed to solve a number of different system problems, clean up your disk, optimize performance, and improve privacy and security.
- Compatible with: Windows 11, 10, 8 and 7
- Trial: Free trial by category for at least 2 days*
- Full version: from $29.95 (for a 3-month subscription)
*Free trial allows you to fix all detected items in each category
Принудительно включить целостность памяти из редактора реестра
Если у вас возникли проблемы с включением целостности памяти из приложения безопасности Windows, используйте альтернативный метод для активации этой функции безопасности. Вы можете настроить значение в своем реестре Windows, чтобы включить эту функцию, что возможно с помощью встроенного инструмента редактора реестра вашего ПК.
Обратите внимание, что внесение неправильных изменений в реестр может сделать вашу систему нестабильной. Таким образом, вы должны изменить только рекомендуемые значения, чтобы ваш компьютер продолжал работать.
- Откройте диалоговое окно «Выполнить», нажав Windows + R.
- Введите regedit в поле и нажмите Enter, чтобы открыть инструмент редактора реестра.
- Когда откроется редактор реестра, перейдите по следующему пути: ComputerHKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlDeviceGuardScenariosHypervisorEnforcedCodeIntegrity.
- Дважды щелкните клавишу «Включено» справа.
- Введите 1 в поле «Значение» и нажмите «ОК».
- Закройте редактор реестра.
- Перезагрузите компьютер, открыв меню «Пуск», выбрав значок «Питание» и выбрав «Перезагрузить».
Отключить неисправные драйверы устройств
Наиболее распространенная причина, по которой вы получаете указанную выше ошибку и не можете включить целостность памяти, заключается в том, что установленные драйверы устройств повреждены. Неисправные драйверы часто вызывают множество проблем, делая ваш компьютер неисправным или нестабильным.
Вы можете предотвратить загрузку таких плохих драйверов при включении компьютера, отключив их с помощью бесплатного инструмента под названием Autoruns. Этот инструмент выделяет для вас плохие драйверы и позволяет отключать и снова включать эти драйверы.
- Откройте предпочитаемый веб-браузер и запустите веб-сайт Autoruns.
- Загрузите, распакуйте и запустите инструмент на своем ПК.
- Перейдите на вкладку «Драйверы» в инструменте и дайте инструменту выполнить поиск установленных драйверов.
- Autoruns выделяет неисправные драйверы. Снимите флажки рядом с этими драйверами, чтобы отключить эти драйверы.
- Перезагрузите компьютер.
Удалите поврежденные или несовместимые драйверы
Если проблема с целостностью памяти решена после отключения неисправных драйверов, удалите эти драйверы, чтобы решить проблему навсегда. Затем вы можете загрузить подходящие драйверы для вашего устройства с сайта производителя вашего устройства или из Диспетчера устройств.
- Щелкните правой кнопкой мыши значок меню «Пуск» и выберите «Диспетчер устройств».
- Выберите «Вид» > «Показать скрытые устройства» в диспетчере устройств, чтобы отобразить список всех доступных устройств.
- Разверните категорию неисправного устройства, щелкните устройство правой кнопкой мыши и выберите «Удалить устройство».
- Выберите Удалить в приглашении, чтобы удалить устройство.
- Перезагрузите компьютер.
Если вы ранее устанавливали драйверы устройства с компакт-диска, DVD-диска или USB-накопителя, то на этот раз загрузите и установите последние версии драйверов с веб-сайта производителя. Это обновит драйверы и устранит любые проблемы, вызванные вашими драйверами, что позволит вам включить функцию безопасности вашего устройства.
Сбросить приложение безопасности Windows
Проблемы с приложением безопасности Windows могут помешать вам включить функцию целостности памяти. Один из способов исправить проблемы с этим приложением — сбросить приложение до заводских настроек по умолчанию. Это удаляет любую пользовательскую конфигурацию в приложении и исправляет ошибки, которые могут вызывать проблемы с целостностью памяти.
Вы можете использовать встроенную функцию Windows для восстановления приложения безопасности Windows. Это также гарантирует, что ваш компьютер защищен от вредоносных программ и вирусов.
- Откройте настройки Windows, нажав Windows + I.
- Выберите «Приложения» на левой боковой панели и «Приложения и функции» на правой панели.
- Выберите три точки рядом с Безопасность Windows в списке и выберите Дополнительные параметры.
- Выберите Сброс на следующей странице.
- Выберите «Сброс» в открывшемся окне.
- Перезагрузите компьютер после сброса настроек приложения безопасности Windows.
Удаление проблемных приложений
На вашем ПК с Windows 11 может быть установлено проблемное вредоносное программное обеспечение, которое мешает работе функции целостности памяти Windows. Если вы начали сталкиваться с этой проблемой после установки определенного приложения, удалите это приложение со своего компьютера, чтобы решить проблему. Удаление плохих приложений также помогает повысить производительность системы.
Затем вы можете найти лучшую альтернативу своему приложению и продолжить выполнение своих задач.
- Запустите настройки, нажав Windows + I.
- Выберите «Приложения» на левой боковой панели и «Приложения и функции» на правой панели.
- Выберите три точки рядом с проблемным приложением и выберите «Удалить».
- Выберите Удалить в приглашении, чтобы удалить приложение.
- Перезагрузите компьютер.
Исправить поврежденные системные файлы Windows
Одна из возможных причин, по которой вы видите сообщение «Интеграция с памятью отключена. Ваше устройство может быть уязвимым». ошибка и не может включить Целостность Памяти в том, что ваши системные файлы Windows повреждены. Эти неисправные файлы мешают нормальной работе вашей системы, вызывая множество проблем.
К счастью, на вашем ПК с Windows 11 есть инструмент для сканирования и исправления поврежденных системных файлов. Вы можете использовать инструмент SFC (Проверка системных файлов) вашего ПК, чтобы найти неисправные файлы и исправить эти файлы. Этот инструмент запускается из командной строки и по большей части работает сам по себе.
- Откройте меню «Пуск», найдите «Командная строка» и выберите «Запуск от имени администратора».
- Выберите «Да» в окне контроля учетных записей.
- Введите следующую команду в окне CMD и нажмите Enter. Эта команда запрашивает Центр обновления Windows для загрузки файлов, необходимых для исправления поврежденных файлов. DISM.exe /Online /Cleanup-image /Restorehealth
- После выполнения вышеуказанной команды выполните следующую команду, чтобы начать поиск и исправление поврежденных файлов Windows: sfc /scannow
- Подождите, пока инструмент закончит свою работу.
Ваши системные файлы, которые были повреждены из-за вредоносного кода или по другой причине, теперь исправлены.
Обновить Виндовс 11
Microsoft часто выпускает различные обновления операционной системы Windows 11, позволяя вам исправлять системные ошибки, получать новые функции и оптимизировать работу в целом. Однако у вас «Интеграция с памятью отключена. Ваше устройство может быть уязвимым». проблема могла возникнуть из-за системной проблемы. В этом случае обновите программное обеспечение Windows до последней версии, что решит вашу проблему.
- Нажмите Windows + I, чтобы открыть настройки.
- Выберите Центр обновления Windows на левой боковой панели.
- Выберите Проверить наличие обновлений на правой панели.
- Загрузите и установите доступные обновления.
- Перезагрузите компьютер.
Устранение проблем с целостностью памяти Windows 11 на вашем ПК
Проблема с целостностью памяти в Windows 11 возникает по разным причинам, основной причиной которых являются поврежденные драйверы устройств. Надеюсь, описанные выше шаги по устранению неполадок — это все, что вам нужно для решения вашей проблемы.
Затем вы можете включать и выключать целостность памяти по своему усмотрению. Наслаждаться!
Оперативная память
Устранение ошибок памяти
- Подробности
- Родительская категория: Оперативная память
- Категория: Прочая информация про оперативную память
Устранить ошибки памяти довольно сложно, поскольку не всегда удается идентифициро
вать вызвавшую их проблему. Чаще всего пользователи винят во всех сбоях программное обеспечение, хотя на самом деле во всем виновата память. В этом разделе речь пойдет о выявлении ошибок памяти и способах их устранения.
Для устранения ошибок памяти необходимо иметь под рукой несколько диагностических программ. Следует отметить, что некоторые ошибки памяти могут быть выявлены одной программой и остаться невидимыми для другой. При включении компьютера системная BIOS проверяет память. В большинстве случаев к компьютеру прилагается компакт-диск, содержащий специальные программы диагностики. Также на рынке можно встретить множество других диагностических утилит, практически каждая из которых содержит свои тесты памяти.
При запуске компьютера тест POST не только проверяет память, но и вычисляет ее объем. Затем этот объем памяти сравнивается с записанным в параметрах BIOS и в случае несоответствия генерируется сообщение об ошибке. При проверке памяти тест POST записывает в каждый из блоков памяти некоторый шаблон, а затем считывает его и сверяет с оригиналом. При обнаружении ошибок выводится соответствующее сообщение или генерируется звуковой сигнал. Звуковой сигнал, как правило, используется для индикации критических ошибок в областях, важных для выполнения системных операций. Если система может получить доступ к объему памяти, достаточному для запуска видеосистемы, вместо звукового сигнала будет отображено сообщение об ошибке.
На прилагаемом к книге компакт-диске содержится подробный перечень звуковых сигналов BIOS и кодов ошибок, характерных для той или иной BIOS, в формате PDF. К примеру, в большинстве материнских плат Intel используется Phoenix BIOS, которая для индикации критических ошибок использует несколько звуковых кодов.
Если процедура POST не обнаружила ошибок памяти, следовательно, причина возникновения ошибок лежит не в аппаратной среде, или программа POST не справилась со своей задачей. Нерегулярные ошибки зачастую не обнаруживаются POST, что справедливо и для других аппаратных дефектов. Данная процедура проводится достаточно быстро и не претендует на тщательный анализ. Поэтому для доскональной проверки применяется загрузка DOS, режим консоли восстановления в Windows XP или диагностический диск. Тесты такого рода могут в случае необходимости проводиться в течение нескольких дней для определения неуловимого дефекта.
В Интернете доступно множество хороших бесплатных программ тестирования памяти.
- Microsoft Windows Memory Diagnostic (http://oca.microsoft.com/en/windiag)
- DocMemory Diagnostic (http://www.simmtester.com/page/products/doc/docinfo.asp)
- Memtest86 (http://www.memtest86.com)
Следует отметить, что все эти утилиты имеют загружаемый формат, т.е. их не нужно устанавливать в тестируемой системе, а достаточно записать на загрузочный компакт-диск. Это связано с тем, что многие операционные системы, работающие в защищенном режиме, в частности Windows, пресекают прямой доступ к памяти и другим устройствам. По этой причине загрузку системы нужно выполнять с компакт-диска. Все эти программы используют алгоритмы, записывающие определенные шаблоны в различные области системной памяти, после чего считывают их и проверяют на совпадение каждый бит. При этом они отключают системный кэш, чтобы результат операции отражал поведение модулей памяти, без каких-либо посредников. Некоторые утилиты, в частности Windows Memory Diagnostic, даже способны указать на конкретный модуль памяти, в котором произошла ошибка.
Однако эти программы могут только записать данные и проверить при считывании их соответствие, не более того. Они не определяют, насколько близка память к критической точке сбоя. Повышенный уровень диагностики памяти обеспечивают только специальные аппаратные тестеры модулей SIMM/DIMM. Эти устройства позволяют вставить в них модуль памяти и проверить ее на множестве скоростей, при разных напряжениях питания и таймингах, в результате чего выдать свой вердикт относительно пригодности модуля. Существуют версии таких тестеров, позволяющие проверять модули памяти практически всех типов, начиная от ранних версий SIMM и заканчивая самыми современными модулями DDR DIMM и RIMM. К примеру, я сталкивался с модулями, которые отлично работали в одних компьютерах и выдавали ошибки в других. Это значит, что одни и те же программы диагностики, запущенные на разных компьютерах, выдавали для одних и тех же модулей памяти противоположные результаты. В аппаратных тестерах источник ошибки можно выявить с точностью до конкретного бита, при этом узнать реальное быстродействие памяти, а не номинальное, указанное на маркировке. К числу компаний, которые занимаются реализацией тестеров модулей памяти, относятся Tanisys (www.tanisys.com), CST (www.simmtester.com) и Aristo (www.memorytester.com). Предлагаемые тестеры довольно дорого стоят, но для специалистов, занимающихся ремонтом ПК на профессиональном уровне, тестеры SIMM/DIMM просто необходимы.
Чаще всего память служит причиной следующих ошибок:
- ошибки четности, генерируемые системной платой;
- общие ошибки защиты, вызванные повреждением данных запущенной программы в памяти, что приводит к остановке приложения (часто они вызваны ошибками программ);
- критические ошибки исключений, возникающие при выполнении программой недопустимых инструкций, при доступе к некорректным данным или некорректном уровне привилегий операции;
- ошибки деления, вызванные попыткой деления на нуль, которая приводит к невозможности записи результата в регистр памяти.
Некоторые из приведенных типов ошибок могут быть следствием аппаратных (сбои в цепи питания, статические заряды и т.д.) или программных (некорректно написанные драйверы устройств, ошибки в программах и т.д.) сбоев.
Если причиной возникновения ошибок является оперативная память, следует воспользоваться помощью либо одной программы тестирования, либо нескольких диагностических приложений.
Многие допускают существенную ошибку в использовании диагностических программ,например выполняют диагностику с включенным системным кэшированием. Это затрудняет тестирование, поскольку в большинстве систем используется так называемый кэш с обратной записью. Принцип его работы состоит в том, что данные, записываемые в основную память, в первую очередь записываются в кэш. Поскольку диагностическая программа изначально записывает данные и затем сразу же их считывает, данные считываются из кэша, а не из основной памяти. При этом тестирование проводится очень быстро, но проверке подвергается лишь сам кэш. Таким образом, обязательно отключайте кэширование перед тестированием оперативной памяти. Компьютер будет работать довольно медленно, диагностика отнимет на порядок больше времени, однако проверяться будет именно оперативная память, а не кэш.
При проверке памяти придерживайтесь алгоритма, схематически показанного на рисунке ниже.
Теперь ознакомимся с процедурой проверки и устранения ошибок памяти.
- Включите систему и проследите за выполнением процедуры POST. Если этот тест завершается без ошибок, следовательно, основные параметры памяти успешно проверены. При обнаружении ошибок перейдите к выполнению процедуры локализации дефектов.
- Перезапустите систему и войдите в программу настройки BIOS. Для этого во время выполнения POST (но до начала процесса загрузки) нажмите клавишу <F2>. Проверьте в параметрах BIOS, совпадает ли объем обнаруженной и установленной памяти. В том случае, если вычисленный объем памяти не соответствует установленному, обратитесь к процедуре локализации дефектов.
- В программе настройки BIOS отключите параметры кэширования. На рисунке ниже представлено типичное меню Advanced BIOS Features, в котором выделены параметры кэш-памяти. Сохраните выполненные изменения и загрузите компьютер с отформатированной системной дискеты, содержащей выбранные диагностические программы. Если в комплект поставки компьютера входил компакт-диск с программами диагностики, можете воспользоваться им. К тому же на рынке доступно множество коммерческих программ диагностики, таких как PC-Technician от Windsor Technologies, Norton System Works от Symantec и Doc Memory от SIMMTester.
- Следуя инструкциям, появляющимся при выполнении диагностической программы, протестируйте основную и дополнительную (XMS) память. Обычно в таких программах существует специальный режим, допускающий непрерывное циклическое выполнение диагностических процедур. Это позволяет обнаружить периодические ошибки. При выявлении ошибок памяти перейдите к выполнению процедуры локализации дефектов.
- Отсутствие ошибок при выполнении POST или во время более полного тестирования памяти говорит о ее нормальном функционировании на аппаратном уровне. Перезагрузите компьютер и установите предыдущие параметры памяти в настройках BIOS, в частности включите параметр использования кэш-памяти.
- Отсутствие выявленных ошибок при наличии каких#либо проблем говорит о том, что существующие ошибки памяти не могут быть обнаружены стандартными методами или же их причина, вероятно, связана с программным обеспечением. Для более полной проверки модулей SIMM/DIMM на аппаратном тестере обратитесь в сервисный центр. Я бы обратил внимание и на программное обеспечение (в частности, на версии драйверов), блок питания, а также на системное окружение, особенно на источники статического электричества, радиопередатчики и т.п.
Выбирайте на страницах сайта услуги разных индивидуалок. Все индивидуалки Пятигорска доступны к взятию в способное для потребителей время. В качестве их услуг затруднений нет!
Проблемы при работе с кэшем и способы их решения
Привет, Хабр!
Меня зовут Виктор Пряжников, я работаю в SRV-команде Badoo. Наша команда занимается разработкой и поддержкой внутреннего API для наших клиентов со стороны сервера, и кэширование данных — это то, с чем мы сталкиваемся каждый день.
Существует мнение, что в программировании есть только две по-настоящему сложные задачи: придумывание названий и инвалидация кэша. Я не буду спорить с тем, что инвалидация — это сложно, но мне кажется, что кэширование — довольно хитрая вещь даже без учёта инвалидации. Есть много вещей, о которых следует подумать, прежде чем начинать использовать кэш. В этой статье я попробую сформулировать некоторые проблемы, с которыми можно столкнуться при работе с кэшем в большой системе.
Я расскажу о проблемах разделения кэшируемых данных между серверами, параллельных обновлениях данных, «холодном старте» и работе системы со сбоями. Также я опишу возможные способы решения этих проблем и приведу ссылки на материалы, где эти темы освещены более подробно. Я не буду рассказывать, что такое кэш в принципе и касаться деталей реализации конкретных систем.
При работе я исхожу из того, что рассматриваемая система состоит из приложения, базы данных и кэша для данных. Вместо базы данных может использоваться любой другой источник (например, какой-то микросервис или внешний API).
Деление данных между кэширующими серверами
Если вы хотите использовать кэширование в достаточно большой системе, нужно позаботиться о том, чтобы можно было поделить кэшируемые данные между доступными серверами. Это необходимо по нескольким причинам:
- данных может быть очень много, и они физически не поместятся в память одного сервера;
- данные могут запрашиваться очень часто, и один сервер не в состоянии обработать все эти запросы;
- вы хотите сделать кэширование более надёжным. Если у вас только один кэширующий сервер, то при его падении вся система останется без кэша, что может резко увеличить нагрузку на базу данных.
Самый очевидный способ разбивки данных — вычисление номера сервера псевдослучайным образом в зависимости от ключа кэширования.
Есть разные алгоритмы для реализации этого. Самый простой — вычисление номера сервера как остатка от целочисленного деления численного представления ключа (например, CRC32) на количество кэширующих серверов:
$cache_server_index = crc32($cache_key) % count($cache_servers_list);
Такой алгоритм называется хешированием по модулю (англ. modulo hashing). CRC32 здесь использован в качестве примера. Вместо него можно взять любую другую хеширующую функцию, из результатов которой можно получить число, большее или равное количеству серверов, с более-менее равномерно распределённым результатом.
Этот способ легко понять и реализовать, он достаточно равномерно распределяет данные между серверами, но у него есть серьёзный недостаток: при изменении количества серверов (из-за технических проблем или при добавлении новых) значительная часть кэша теряется, поскольку для ключей меняется остаток от деления.
Я написал небольшой скрипт, который продемонстрирует эту проблему.
В нём генерируется 1 млн уникальных ключей, распределённых по пяти серверам с помощью хеширования по модулю и CRC32. Я эмулирую выход из строя одного из серверов и перераспределение данных по четырём оставшимся.
В результате этого «сбоя» примерно 80% ключей изменят своё местоположение, то есть окажутся недоступными для последующего чтения:
Total keys count: 1000000
Shards count range: 4, 5
Самое неприятное тут то, что 80% — это далеко не предел. С увеличением количества серверов процент потери кэша будет расти и дальше. Единственное исключение — это кратные изменения (с двух до четырёх, с девяти до трёх и т. п.), при которых потери будут меньше обычного, но в любом случае не менее половины от имеющегося кэша:
Я выложил на GitHub скрипт, с помощью которого я собрал данные, а также ipynb-файл, рисующий данную таблицу, и файлы с данными.
Для решения этой проблемы есть другой алгоритм разбивки — согласованное хеширование (англ. consistent hashing). Основная идея этого механизма очень простая: здесь добавляется дополнительное отображение ключей на слоты, количество которых заметно превышает количество серверов (их могут быть тысячи и даже больше). Сами слоты, в свою очередь, каким-то образом распределяются по серверам.
При изменении количества серверов количество слотов не меняется, но меняется распределение слотов между этими серверами:
- если один из серверов выходит из строя, то все слоты, которые к нему относились, распределяются между оставшимися;
- если добавляется новый сервер, то ему передаётся часть слотов от уже имеющихся серверов.
Обычно идею согласованного хеширования визуализируют с помощью колец, точки на окружностях которых показывают слоты или границы диапазонов слотов (в случае если этих слотов очень много). Вот простой пример перераспределения для ситуации с небольшим количеством слотов (60), которые изначально распределены по четырём серверам:
На картинке начального разбиения все слоты одного сервера расположены подряд, но в реальности это не обязательное условие — они могут быть расположены как угодно.
Основное преимущество этого способа перед предыдущим заключается в том, что здесь каждому серверу соответствует не одно значение, а целый диапазон, и при изменении количества серверов между ними перераспределяется гораздо меньшая часть ключей (k / N
, где k
— общее количество ключей, а N
— количество серверов).
Если вернуться к сценарию, который я использовал для демонстрации недостатка хеширования по модулю, то при той же ситуации с падением одного из пяти серверов (с одинаковым весом) и перераспределением ключей с него между оставшимися мы потерям не 80% кэша, а только 20%. Если считать, что изначально все данные находятся в кэше и все они будут запрошены, то эта разница означает, что при согласованном хешировании мы получим в четыре раза меньше запросов к базе данных.
Код, реализующий этот алгоритм, будет сложнее, чем код предыдущего, поэтому я не буду его приводить в статье. При желании его легко можно найти — на GitHub есть масса реализаций на самых разных языках.
Наряду с согласованным хешированием есть и другие способы решения этой проблемы (например, rendezvous hashing), но они гораздо менее распространены.
Вне зависимости от выбранного алгоритма выбор сервера на основе хеша ключа может работать плохо. Обычно в кэше находится не набор однотипных данных, а большое количество разнородных: кэшированные значения занимают разное место в памяти, запрашиваются с разной частотой, имеют разное время генерации, разную частоту обновлений и разное время жизни. При использовании хеширования вы не можете управлять тем, куда именно попадёт ключ, и в результате может получиться «перекос» как в объёме хранимых данных, так и в количестве запросов к ним, из-за чего поведение разных кэширующих серверов будет сильно различаться.
Чтобы решить эту проблему, необходимо «размазать» ключи так, чтобы разнородные данные были распределены между серверами более-менее однородно. Для этого для выбора сервера нужно использовать не ключ, а какой-то другой параметр, к которому нужно будет применить один из описанных подходов. Нельзя сказать, что это будет за параметр, поскольку это зависит от вашей модели данных.
В нашем случае почти все кэшируемые данные относятся к одному пользователю, поэтому мы используем User ID в качестве параметра шардирования данных в кэше. Благодаря этому у нас получается распределить данные более-менее равномерно. Кроме того, мы получаем бонус — возможность использования multi_get
для загрузки сразу нескольких разных ключей с информацией о юзере (что мы используем в предзагрузке часто используемых данных для текущего пользователя). Если бы положение каждого ключа определялось динамически, то невозможно было бы использовать multi_get
при таком сценарии, так как не было бы гарантии, что все запрашиваемые ключи относятся к одному серверу.
См. также:
- Статья «Distributed hash table» в Wikipedia
- Статья «Consistent hashing» в Wikipedia
- A Guide to Consistent Hashing
- Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web
- Building a Consistent Hashing Ring
Параллельные запросы на обновление данных
Посмотрите на такой простой кусочек кода:
public function getContactsCountCached(int $user_id) : ?int
{
$contacts_count = ContactsCache::getContactsCount($user_id);
if ($contacts_count !== false) {
return $contacts_count;
}
$contacts_count = $this->getContactsCount($user_id);
if (is_null($contacts_count)) {
return null;
}
ContactsCache::setContactsCount($user_id, $contacts_count);
return $contacts_count;
}
Что произойдёт при отсутствии запрашиваемых данных в кэше? Судя по коду, должен запуститься механизм, который достанет эти данные. Если код выполняется только в один поток, то всё будет хорошо: данные будут загружены, помещены в кэш и при следующем запросе взяты уже оттуда. А вот при работе в несколько параллельных потоков всё будет иначе: загрузка данных будет происходить не один раз, а несколько.
Выглядеть это будет примерно так:
На момент начала обработки запроса в процессе №2 данных в кэше ещё нет, но они уже читаются из базы данных в процессе №1. В этом примере проблема не такая существенная, ведь запроса всего два, но их может быть гораздо больше.
Количество параллельных загрузок зависит от количества параллельных пользователей и времени, которое требуется на загрузку необходимых данных.
Предположим, у вас есть какой-то функционал, использующий кэш с нагрузкой 200 запросов в секунду. Если на на загрузку данных нужно 50 мс, то за это время вы получите 50 / (1000 / 200) = 10
запросов.
То есть при отсутствии кэша один процесс начнёт загружать данные, и за время загрузки придут ещё девять запросов, которые не увидят данные в кэше и тоже станут их загружать.
Эта проблема называется cache stampede (русского аналога этого термина я не нашёл, дословно это можно перевести как «паническое бегство кэша», и картинка в начале статьи показывает пример этого действия в дикой природе), hit miss storm («шторм непопаданий в кэш») или dog-pile effect («эффект собачьей стаи»). Есть несколько способов её решения:
Блокировка перед началом выполнения операции пересчёта/ загрузки данных
Суть этого метода состоит в том, что при отсутствии данных в кэше процесс, который хочет их загрузить, должен захватить лок, который не даст сделать то же самое другим параллельно выполняющимся процессам. В случае memcached простейший способ блокировки — добавление ключа в тот же кэширующий сервер, в котором должны храниться сами закэшированные данные.
При этом варианте данные обновляются только в одном процессе, но нужно решить, что делать с процессами, которые попали в ситуацию с отсутствующим кэшем, но не смогли получить блокировку. Они могут отдавать ошибку или какое-то значение по умолчанию, ждать какое-то время, после чего пытаться получить данные ещё раз.
Кроме того, нужно тщательно выбирать время самой блокировки — его гарантированно должно хватить на то, чтобы загрузить данные из источника и положить в кэш. Если не хватит, то повторную загрузку данных может начать другой параллельный процесс. С другой стороны, если этот временной промежуток будет слишком большим и процесс, получивший блокировку, умрёт, не записав данные в кэш и не освободив блокировку, то другие процессы также не смогут получить эти данные до окончания времени блокировки.
Вынос обновлений в фон
Основная идея этого способа — разделение по разным процессам чтения данных из кэша и записи в него. В онлайн-процессах происходит только чтение данных из кэша, но не их загрузка, которая идёт только в отдельном фоновом процессе. Данный вариант делает невозможными параллельные обновления данных.
Этот способ требует дополнительных «расходов» на создание и мониторинг отдельного скрипта, пишущего данные в кэш, и синхронизации времени жизни записанного кэша и времени следующего запуска обновляющего его скрипта.
Этот вариант мы в Badoo используем, например, для счётчика общего количества пользователей, про который ещё пойдёт речь дальше.
Вероятностные методы обновления
Суть этих методов заключается в том, что данные в кэше обновляются не только при отсутствии, но и с какой-то вероятностью при их наличии. Это позволит обновлять их до того, как закэшированные данные «протухнут» и потребуются сразу всем процессам.
Для корректной работы такого механизма нужно, чтобы в начале срока жизни закэшированных данных вероятность пересчёта была небольшой, но постепенно увеличивалась. Добиться этого можно с помощью алгоритма XFetch, который использует экспоненциальное распределение. Его реализация выглядит примерно так:
function xFetch($key, $ttl, $beta = 1)
{
[$value, $delta, $expiry] = cacheRead($key);
if (!$value || (time() − $delta * $beta * log(rand())) > $expiry) {
$start = time();
$value = recomputeValue($key);
$delta = time() – $start;
$expiry = time() + $ttl;
cacheWrite(key, [$value, $delta, $expiry], $ttl);
}
return $value;
}
В данном примере $ttl
— это время жизни значения в кэше, $delta
— время, которое потребовалось для генерации кэшируемого значения, $expiry
— время, до которого значение в кэше будет валидным, $beta
— параметр настройки алгоритма, изменяя который, можно влиять на вероятность пересчёта (чем он больше, тем более вероятен пересчёт при каждом запросе). Подробное описание этого алгоритма можно прочитать в white paper «Optimal Probabilistic Cache Stampede Prevention», ссылку на который вы найдёте в конце этого раздела.
Нужно понимать, что при использовании подобных вероятностных механизмов вы не исключаете параллельные обновления, а только снижаете их вероятность. Чтобы исключить их, можно «скрестить» несколько способов сразу (например, добавив блокировку перед обновлением).
См. также:
- Статья «Cache stampede» в Wikipedia
- Optimal Probabilistic Cache Stampede Prevention
- Репозиторий на GitHub с описанием и тестами разных способов
- Статья «Кэши для “чайников”»
«Холодный» старт и «прогревание» кэша
Нужно отметить, что проблема массового обновления данных из-за их отсутствия в кэше может быть вызвана не только большим количеством обновлений одного и того же ключа, но и большим количеством одновременных обновлений разных ключей. Например, такое может произойти, когда вы выкатываете новый «популярный» функционал с применением кэширования и фиксированным сроком жизни кэша.
В этом случае сразу после выкатки данные начнут загружаться (первое проявление проблемы), после чего попадут в кэш — и какое-то время всё будет хорошо, а после истечения срока жизни кэша все данные снова начнут загружаться и создавать повышенную нагрузку на базу данных.
От такой проблемы нельзя полностью избавиться, но можно «размазать» загрузки данных по времени, исключив тем самым резкое количество параллельных запросов к базе. Добиться этого можно несколькими способами:
- плавным включением нового функционала. Для этого необходим механизм, который позволит это сделать. Простейший вариант реализации — выкатывать новый функционал включённым на небольшую часть пользователей и постепенно её увеличивать. При таком сценарии не должно быть сразу большого вала обновлений, так как сначала функционал будет доступен только части пользователей, а по мере её увеличения кэш уже будет «прогрет».
- разным временем жизни разных элементов набора данных. Данный механизм можно использовать, только если система в состоянии выдержать пик, который наступит при выкатке всего функционала. Его особенность заключается в том, что при записи данных в кэш у каждого элемента будет своё время жизни, и благодаря этому вал обновлений сгладится гораздо быстрее за счёт распределения последующих обновления во времени. Простейший способ реализовать такой механизм — умножить время жизни кэша на какой-то случайный множитель:
public function getNewSnapshotTTL()
{
$random_factor = rand(950, 1050) / 1000;
return intval($this->getSnapshotTTL() * $random_factor);
}
Если по какой-то причине не хочется использовать случайное число, можно заменить его псевдослучайным значением, полученным с помощью хеш-функции на базе каких-нибудь данных (например, User ID).
Пример
Я написал небольшой скрипт, который эмулирует ситуацию «непрогретого» кэша.
В нём я воспроизвожу ситуацию, при которой пользователь при запросе загружает данные о себе (если их нет в кэше). Конечно, пример синтетический, но даже на нём можно увидеть разницу в поведении системы.
Вот как выглядит график количества hit miss-ов в ситуации с фиксированным (fixed_cache_misses_count) и различным (random_cache_misses_count) сроками жизни кэша:
Видно, что в начале работы в обоих случаях пики нагрузки очень заметны, но при использовании псевдослучайного времени жизни они сглаживаются гораздо быстрее.
«Горячие» ключи
Данные в кэше разнородные, некоторые из них могут запрашиваться очень часто. В этом случае проблемы могут создавать даже не параллельные обновления, а само количество чтений. Примером подобного ключа у нас является счётчик общего количества пользователей:
Этот счётчик — один из самых популярных ключей, и при использовании обычного подхода все запросы к нему будут идти на один сервер (поскольку это всего один ключ, а не множество однотипных), поведение которого может измениться и замедлить работу с другими ключами, хранящимися там же.
Чтобы решить эту проблему, нужно писать данные не в один кэширующий сервер, а сразу в несколько. В этом случае мы кратно снизим количество чтений этого ключа, но усложним его обновления и код выбора сервера — ведь нам нужно будет использовать отдельный механизм.
Мы в Badoo решаем эту проблему тем, что пишем данные во все кэширующие серверы сразу. Благодаря этому при чтении мы можем использовать общий механизм выбора сервера — в коде можно использовать обычный механизм шардирования по User ID, и при чтении не нужно ничего знать про специфику этого «горячего» ключа. В нашем случае это работает, поскольку у нас сравнительно немного серверов (примерно десять на площадку).
Если бы кэширующих серверов было намного больше, то этот способ мог бы быть не самым удобным — просто нет смысла дублировать сотни раз одни и те же данные. В таком случае можно было бы дублировать ключ не на все серверы, а только на их часть, но такой вариант требует чуть больше усилий.
Если вы используете определение сервера по ключу кэша, то можно добавить к нему ограниченное количество псевдослучайных значений (сделав из total_users_count
что-то вроде total_users_count_1
, total_users_count_2
и т. д.). Подобный подход используется, например, в Etsy.
Если вы используете явные указания параметра шардирования, то просто передавайте туда разные псевдослучайные значения.
Главная проблема с обоими способами — убедиться, что разные значения действительно попадают на разные кэширующие серверы.
См. также:
- How Etsy caches: hashing, Ketama, and cache smearing
Сбои в работе
Система не может быть надёжной на 100%, поэтому нужно предусмотреть, как она будет вести себя при сбоях. Сбои могут быть как в работе самого кэша, так и в работе базы данных.
Про сбои в работе кэша я уже рассказывал в предыдущих разделах. Единственное, что можно добавить, — хорошо было бы предусмотреть возможность отключения части функционала на работающей системе. Это полезно, когда система не в состоянии справиться с пиком нагрузки.
При сбоях в работе базы данных и отсутствии кэша мы можем попасть в ситуацию cache stampede, про которую я тоже уже рассказывал раньше. Выйти из неё можно уже описанными способами, а можно записать в кэш заведомо некорректное значение с небольшим сроком жизни. В этом случае система сможет определить, что источник недоступен, и на какое-то время перестанет пытаться запрашивать данные.
Заключение
В статье я затронул основные проблемы при работе с кэшем, но уверен, что, кроме них, есть множество других, и продолжать этот разговор можно очень долго. Надеюсь, что после прочтения моей статьи ваш кэш станет более эффективным.
Содержание
- Как выявить неисправность оперативной памяти на компьютере с Windows 10
- Как диагностировать проблемы с памятью в Windows 10
- Анализ результатов сканирования
- Кэшировано много оперативной памяти Windows 10
- Что значит кэшировано памяти
- Как очистить кэшированную оперативную память
- Удалите неиспользуемые приложения
- Отключение ненужных служб
- Очистка оперативной памяти
- Как проверить оперативную память на ошибки
- Содержание
- Содержание
- Диагностика средствами Windows
- Диагностика MemTest86
- Диагностика программой TestMem5 (tm5)
- Какой программой пользоваться?
- Как найти неисправный модуль?
- Что делать, если нашли неисправный модуль памяти?
- Как очистить кэш на компьютере Windows 10?
- Как очистить кеш-память в Windows 10
- Кэш-память временных файлов
- Кэш Магазина Windows
- DNS-кеш
- Как очистить кэш (память, файлы браузера и временные файлы) в Windows 10
- Содержание
- Как очистить кэш (временные файлы) в Windows 10
- Как очистить кэш памяти или ОЗУ в Windows 10
- Как очистить кэш браузера Chrome, Edge, Firefox или Яндекс в Windows 10
Как выявить неисправность оперативной памяти на компьютере с Windows 10
Несмотря на то, что в Интернете доступные сторонние инструменты для диагностики памяти, Windows 10 включает собственное средство проверки памяти для выявления потенциальных проблем с ОЗУ.
В этом руководстве приведены шаги по использованию Средства проверки памяти Windows для обнаружения неисправного модуля памяти.
Как диагностировать проблемы с памятью в Windows 10
Вы можете использовать режим “Обычный” для тестирования памяти компьютера, а можете нажать клавишу F1 в любое время, чтобы открыть страницу “Параметры” для изменения настроек сканера.
На странице “Параметры” вы можете выбрать режим “Базовый”, который включает только тесты MATS+, INVC и SCHCKR (с включенным кэшем).
Также можно выбрать режим “Широкий”, который включает все доступные тесты режима “Обычный”, а также MATS+ (с отключенным кэшем), Stride38, WSCHCKR, WStride-6, CHCKR4, WCHCKR3, ERAND, Stride6 (с отключенным кэшем) и CHCKR8.
При необходимости вы можете перемещаться по различным параметрам с помощью клавиши TAB для изменения настроек кэша. Если вы отключите кэш, инструмент будет обращаться напрямую к данным в ОЗУ, что обеспечивает полноту теста. Кроме того, вы можете также установить число проходов сканера.
После того, как вы закончите выбирать свои параметры, просто нажмите клавишу F10, чтобы вернуться на главную страницу, и сканирование запустится автоматически.
Анализ результатов сканирования
Если результат показывает одну или несколько ошибок, вы можете попробовать запустить тест памяти “Широкий” и перепроверить результаты. Если вы по-прежнему видите хотя бы одну ошибку на одном из модулей ОЗУ, вероятно планку памяти придется заменить.
Иногда, когда тест завершается сбоем, инструмент может указать, какой из модулей имеет проблему с результатами. Однако, если он не может предоставить эту информацию, вам может потребоваться вручную отключить и протестировать каждый модуль памяти, пока не выясните, какой модуль неисправен.
Хотя это руководство предназначено для пользователей Windows 10, средство проверки памяти Windows доступно для использования также в Windows 8.1 и Windows 7.
Источник
Кэшировано много оперативной памяти Windows 10
Можно увидеть, что кэшировано много оперативной памяти в диспетчере задач Windows 10. Пользователям не совсем понятно что это за память. И как большое её количество может повлиять на производительность. Думаю понятно, чем больше ОЗУ тем меньше проблем.
Эта статья расскажет, что такое кэшированная память и почему её очень много в Windows 10. Во время эксперимента файл подкачки был отключён на всех дисках. Многие процессы, службы, библиотеки и программы, при включении компьютера, уже попадают в оперативную память.
Что значит кэшировано памяти
Этот объём памяти (включает зарезервированную и изменённую память), в которой содержаться кэшированные данные и код, предназначены для мгновенного доступа и использования процессами, драйверами и операционной системой.
Например, в диспетчере задач показывает кэшировано 6.0 Гб. В строке Структура памяти смотрим Зарезервировано (5832 Мб). Это и есть память, содержащая кэшированные данные и код, которые прямо сейчас не используются.
В первую очередь система использует свободную память. При нехватке памяти, кэшированная будет переводиться в свободную. Размер кэша уменьшается и менее нужные (давно используемые) данные очищаются.
Монитор ресурсов имеет более подробное описание. Это зарезервированная память, в которой содержаться кэшированные данные, и которая недоступна для использования. При необходимости память освобождается.
Важно! Операционная система установлена на твердотельный SSD накопитель. Сразу исключаем версии с использованием виртуальной памяти Windows 10. Файл подкачки полностью отключён на всех дисках. И все нужные данные кэшируются непосредственно в ОЗУ.
Как очистить кэшированную оперативную память
Удалите неиспользуемые приложения
Все неиспользуемые приложения, особенно те, которые добавляются в автозагрузку, попадают в память. В системе множество программ, которые пользователи не используют, кэшируются, занимают ОЗУ. Вспомните только не убираемую автозагрузку uTorrent в Windows 10.
Запретите использование данных для открытия приложений после перезапуска или обновления. В новой версии параметр назыв. Автоматически сохранять мои перезапускаемые приложения при выходе из системы и перезапускать их после входа.
Много писали о тонкой настройке автозапуска программ Windows 10. Перейдите в расположение Параметры > Приложения > Автозагрузка. И выключите запуск всех ненужных программ перетягиванием ползунков.
Отключение ненужных служб
В системе с каждым обновлением становиться всё больше и больше служб. Хотя для обычного пользователя далеко не все они нужны. Смотрите, как отключить на примере службы криптографии. Более подробно: оптимизация и ускорение Windows 10 для слабых ноутбуков.
Откройте управление службами выполнив команду services.msc в окне Win+R. Теперь достаточно изменить тип запуска ненужной службы на Отключено. Внимательно читайте описание службы, которую Вы отключаете и смотрите её зависимости.
Очистка оперативной памяти
Самый простой способ очистки оперативной памяти — это перезагрузка компьютера. Все данные, которые кэшируются непосредственно в ОЗУ будут очищены. Включение компьютера повторно покажет ситуацию с количеством занятой памяти.
Можно воспользоваться различным софтом для очистки оперативной памяти. В ближайшем будущем такая функциональность будет непосредственно в ОС. Смотрите подробней: как очистить оперативную память на Windows 10.
Источник
Как проверить оперативную память на ошибки
Содержание
Содержание
Во время работы компьютера в оперативной памяти содержатся данные ОС, запущенных программ, а также входные, выходные и промежуточные данные, обрабатываемые процессором. Если с оперативной памятью проблемы — плохо работать будет все. Как понять, что оперативную память пора лечить или менять и проблемы именно в ней? Разбираемся.
Причин ошибок в работе оперативной памяти очень много — от неправильно заданных параметров материнской платой (настройки по умолчанию не панацея) до брака, механических дефектов памяти и разъема материнской платы, а также проблем с контроллером памяти процессора.
Одним из первых признаков неполадок в работе оперативной памяти являются синие экраны смерти (BSOD) и сопутствующие симптомы: подтормаживание, зависание, вылеты приложений с различными ошибками и просто так.
Перечисленные неполадки в работе компьютера относят в основном к симптомам общего характера. При появлении таких неявных признаков неисправности лучше всего начать диагностику компьютера именно с оперативной памяти.
Для диагностики оперативной памяти есть специальные программные средства, о которых и будет дальше идти речь.
Диагностика средствами Windows
Чтобы запустить средство диагностики памяти Windows, откройте меню «Пуск», введите «Диагностика памяти Windows» и нажмите клавишу Enter.
Вы также можете воспользоваться комбинацией клавиш Windows + R и в появившемся диалоговом окне ввести команду mdsched.exe и нажать клавишу Enter.
На выбор есть два варианта: сейчас перезагрузить компьютер и начать проверку или выполнить проверку во время следующего включения компьютера.
Как только компьютер перезагрузится, появится экран средства диагностики памяти Windows.
Ничего трогать не нужно — по завершении теста компьютер еще раз перезагрузится сам и включится в обычном режиме. Сидеть и следить за ходом проверки тоже не стоит — всю информацию с результатами проверки можно будет потом посмотреть в журнале событий операционной системы.
Результат проверки должен появиться при включении компьютера, но это происходит далеко не всегда.
Чтобы узнать результаты проверки через журнал событий. В меню поиск забиваем «просмотр событий» или можно снова воспользоваться комбинацией клавиш Windows + R и ввести команду eventvwr.msc и Enter.
Открываем журналы «Windows – Система – найти – Диагностика памяти».
Диагностика MemTest86
Данный способ несколько сложнее, так как нужно создать загрузочную флешку, но у него есть и свои положительные стороны. Он выполняет более широкий набор тестов и может найти проблемы, которые не обнаружил встроенный тест Windows.
По началу процесс создания загрузочной флешки может напугать неопытного пользователя, но здесь нет ничего сложно. Скачиваем архив, извлекаем содержимое, вставляем флешку в компьютер и запускаем файл imageUSB.exe.
Выбираем наш USB-накопитель и нажимаем Write, процесс занимает считанные минуты. Все, образ готов.
Чтобы загрузиться с созданного ранее флеш-накопителя, необходимо настроить приоритет загрузки устройств в BIOS материнской платы или, что значительно проще, воспользоваться функцией Boot Menu.
В зависимости от производителя материнской платы, клавиша для вызова функции Boot Menu может меняться, обычно это F2, Del, Esc, F12.
Соответствующую клавишу нужно нажимать сразу после включения компьютера или в момент перезагрузки компьютера, как только потух монитор (нажимать можно несколько раз, чтобы не пропустить нужный момент).
Проверка запустится автоматически, ничего трогать не нужно.
Процедура проверки будет выполняться циклически (Pass) до тех пор, пока вы не решите остановить его. Информация об ошибках будет отображаться в нижней части экрана. Когда решите закончите, нужно просто нажать клавишу Esc, чтобы выйти и перезагрузить компьютер. По-хорошему, нужно пройти минимум 5–10 циклов проверки — чем больше, чем лучше.
Диагностика программой TestMem5 (tm5)
TestMem5 — программа тестирования оперативной памяти, абсолютно бесплатная, скачать можно по ссылке.
Эта программа построена по несколько другому принципу, чем предыдущие. А именно — она настраиваемая. Сами тесты имеют довольно гибкую структуру с большим количеством настроек.
Настройкой собственной конфигурации для тестирования заниматься необязательно, есть уже несколько готовых конфигураций настроек от разных авторов. Наибольшей популярностью пользуются конфигурации от 1usmus v3 и anta777 (Экстрим – Тяжелый – Суперлайт). Процесс установки конфигураций очень прост: скачиваете нужный и помещаете в папку с программой или можно добавить через «Настроить и выйти».
Важно : Запускать tm5.exe нужно в режиме администратора ( с правами администратора).
Какой программой пользоваться?
У каждой из программа есть свои сильные и слабые стороны.
Диагностика средствами Windows — это наиболее простой способ, который уже встроен в операционную систему, его остается только запустить. Не способен найти сложные ошибки, тест короткий.
MemTest86 — старая и авторитетная программа, есть небольшие сложности с запуском. Можно использовать без установленной операционной системы.
TestMem5 — прост в использовании, проверка происходит в среде Windows, что наиболее приближено к реальным условиям использования, а не в среде DOS как Memtest86. А наличие различных конфигураций по интенсивности и времени проверки делает ее наилучшим решением для тестирования оперативной памяти как по дефолту, так и во время разгона.
Как найти неисправный модуль?
Принцип поиска неисправного модуля довольно прост:
1) Проверить правильность установки разъемов при наличии двух модулей.
2) Продуть от пыли разъемы и протереть контакты.
3) Сбросить все настройки Bios на дефолтные.
4) Проверить планки памяти вместе и по отдельности, меняя разъемы.
5) Проверить планки памяти на другой материнской плате у друга.
Что делать, если нашли неисправный модуль памяти?
Если все перечисленное не помогает избавиться от ошибок, стоит обратиться в гарантийный отдел, если товар еще на гарантии. Платный ремонт оперативной памяти обычно нецелесообразен ввиду не очень высокой цены продукта. Проще пойти и купить новый модуль на гарантии, чем заниматься восстановлением неисправного.
Сама по себе оперативная память сейчас очень редко выходит из строя и с легкостью переживает смену остальных компонентов системы. Чаще всего все ошибки, связанные с работой оперативной памяти, возникают по вине самого пользователя и из-за некорректных настроек в Bios материнской платы, а также при использовании совершенно разных планок памяти и во время разгона.
Источник
Как очистить кэш на компьютере Windows 10?
Поскольку у нас есть взаимозависимые отношения с нашими устройствами, мы вряд ли сможем выжить без наших гаджетов, особенно в эту цифровую эпоху. Но будь то наш смартфон или ПК с Windows, с течением времени и при длительном использовании кеш-память продолжает накапливаться, занимая ненужное место на вашем устройстве. Следовательно, чтобы повысить производительность вашего ПК, технические эксперты всегда рекомендуют вам очистить кеш в Windows 10 и избавиться от ненужных данных.
И, как и любое другое устройство, ваша Windows 10 также хранит различные виды кеш-памяти. Различные типы кеш-памяти, которые продолжают храниться в вашей Windows, включают временный кеш, кеш DNS и кеш Магазина Windows.
В этом посте мы рассмотрели краткое руководство о том, как очистить кеш в Windows 10, подробно разбираясь со всеми видами кеш-памяти один за другим.
Как очистить кеш-память в Windows 10
Кэш-память временных файлов
Это одни из наиболее часто сохраняемых кэшированных данных, которые тегируются вместе с временными / нежелательными файлами. Кэш-память, которая сохраняется вместе с временными файлами, может быть быстро очищена с помощью функции очистки диска. Очистка диска — это встроенная служебная функция Windows, которая позволяет избавиться от всех видов ненужных системных файлов, хранящихся на вашем устройстве.
Чтобы использовать инструмент очистки диска, выполните следующие действия:
В следующем окне установите или снимите отметки со всех файлов, которые вам нужно очистить или сохранить. Сделав свой выбор, нажмите кнопку ОК.
Кроме того, если вы не знаете, какой тип файла вам следует сохранить или удалить, просто нажмите на тип файла, чтобы прочитать описание ниже.
Подождите несколько минут, пока Windows не выполнит полное сканирование для поиска временных или ненужных системных файлов, хранящихся на вашем устройстве. Как только инструмент выполнит свою работу, вы избавитесь от кеша временных файлов, а также освободите место для хранения на вашем устройстве с Windows 10.
Кэш Магазина Windows
Другой тип кэш-памяти, который хранится на вашем устройстве, — это кеш Магазина Windows. После сброса кеша Магазина Windows вы сможете справиться с множеством ошибок файловой системы. Вот что вам нужно сделать:
Нажмите комбинацию клавиш Windows + R, чтобы открыть диалоговое окно «Выполнить».
Введите «WSreset.exe» в текстовое поле и нажмите Enter.
Вы увидите всплывающее окно командной строки на экране. Как только ваша система очистит кеш Магазина Windows, вы автоматически будете перенаправлены в Магазин Windows.
DNS-кеш
Кеш DNS — это кеш-память, которая хранится в веб-браузере или в самой вашей ОС. Кэш DNS (сервера доменных имен) действует как временная база данных, в которой хранится информация, относящаяся к недавно посещенным веб-сайтам, информация о домене и тому подобное.
Чтобы избавиться от кеша DNS, выполните следующие действия:
Это завершает наше руководство о том, как очистить кеш в Windows 10, чтобы повысить производительность вашего устройства и освободить значительный объем дискового пространства на вашем компьютере.
Источник
Как очистить кэш (память, файлы браузера и временные файлы) в Windows 10
В этом руководстве мы покажем вам, как быстро очистить каждый из упомянутых кэшей на вашем ноутбуке или настольном ПК с Windows 10.
Содержание
Как очистить кэш (временные файлы) в Windows 10
Windows 10 создает временные файлы, когда вы создаете, изменяете или открываете файл или программу на своем компьютере или из Интернета в папке, часто известной как папка Temp. Большинство временных файлов удаляются, когда они больше не нужны. Однако некоторые временные файлы, как правило, остаются в папке на неопределенный срок из-за неправильной обработки временных файлов в определенных приложениях или программах. Таким образом, очистка временных файлов часто может сэкономить вам много места на диске.
Если вы беспокоитесь о том, безопасно ли удалять временные файлы, не беспокойтесь. Удалить и очистить папку совершенно нормально и безвредно. Когда будет снова необходим временный файл, Windows просто снова создаст его. Чтобы очистить кэш временных файлов в Windows 10, выполните следующие действия.
Внимание! вы также можете ввести %temp% непосредственно в поле поиска меню Пуск или в окно Проводника, чтобы открыть временную папку, не переходя через окно «Выполнить».
Кроме того, вы можете очистить временные файлы с помощью инструмента очистки диска в Windows 10. С помощью инструмента очистки диска вы также можете очистить другой кэш, который мог засорить ваш компьютер, например, корзину, миниатюры, отчеты об ошибках Windows, отзывы и т. д. Посмотрите видео или выполните действия ниже.
Как очистить кэш памяти или ОЗУ в Windows 10
Если вы заметили очевидное замедление вашего компьютера из-за того, что оперативная память используется настолько, что почти достигла своего предела, это может быть связано с тем, что Windows 10 использует слишком много оперативной памяти в качестве кэша. Это даже вызовет такие ошибки, как нехватка оперативной памяти или проблема нехватки памяти при запуске программы.
Когда вы запускаете программу или игру, Windows будет использовать часть вашей оперативной памяти в качестве кэша для более быстрого и плавного доступа к этой конкретной программе или игре. Однако, когда вы закрываете программу, оперативная память, используемая в качестве кэша, часто не очищается. Затем эта кэшированная память станет неактивной памятью или ОЗУ в режиме ожидания до следующего раза, когда вы снова откроете программу.
Если вам не нравится, как кэшируется данные в ОЗУ даже после того, как вы закрыли программу или игру, вы можете очистить его с помощью хорошо известной исполняемой программы под названием EmptyStandbyList. Это простая программа, которая очищает списки ожидания и, следовательно, очищает кэш ОЗУ в Windows 10.
Прежде чем мы начнем, известно, что иногда мы сомневаемся, безопасно ли загрузить неизвестную программу и запустить ее на компьютере, особенно если это исполняемая программа. Это действительно правильное мышление, когда речь идет о загрузке, установке и запуске чего-либо на вашем компьютере. Это полезная программа, если она загружена по предложенной ниже ссылке, также предлагаем вам провести небольшое исследование программы EmptyStandbyList.exe на форумах, чтобы узнать, законна ли она. Однако, все равно вы должны действовать на свой страх и риск.
Внимание! EmptyStandbyList.exe может работать только при запуске от имени администратора. Чтобы уберечь вас от необходимости каждый раз щелкать правой кнопкой мыши и выбирать запуск от имени администратора, вы можете настроить его на запуск от имени администратора по умолчанию. Для этого щелкните его правой кнопкой мыши и выберите Свойства. Перейдите на вкладку Совместимость и установите флажок Запускать эту программу от имени администратора. После установки в следующий раз, когда вы дважды щелкните левой кнопкой мыши для запуска исполняемого файла, он автоматически запустится от имени администратора.
Как очистить кэш браузера Chrome, Edge, Firefox или Яндекс в Windows 10
Источник
Ошибки General Protection Fault характерны только для компьютеров Windows. Обычно они возникают, когда программа пытается получить доступ и использовать часть памяти, которая используется другим процессом или программой. Другими словами, ошибка указывает на то, что определенная часть памяти недоступна.
Ошибки GPF также могут указывать на то, что программа пытается получить доступ к памяти, доступ к которой не авторизован. Проще говоря, вы имеете дело с проблемой нарушения памяти.
К сожалению, эти ошибки часто приводят к зависанию всей системы. В результате у пользователей не остается выбора, кроме как перезагрузить свои компьютеры. Похоже, что при играх часто возникают ошибки GPF. Очевидно, некоторые игры, такие как серия игр о Гарри Поттере, чаще вызывают ошибки GPF, чем другие игры.
Как исправить ошибки, связанные с общими сбоями защиты?
Удалить временные файлы
Временные файлы, хранящиеся на вашем компьютере, могут вызывать ошибки GPF, заставляя программы обращаться к другим частям памяти. Удалите временные файлы и проверьте, сохраняется ли ошибка. Самый быстрый способ сделать это — запустить Очистку диска.
- Тип ‘очистка диска‘В строке поиска Windows. Запуск Очистка диска.
- Выберите свой основной диск и отсканируйте его.
- Затем очистите следующие файлы:
- Временные интернет файлы
- Временные файлы
- Файлы Центра обновления Windows
- И любые другие файлы, которые вам больше не нужны.
- Перезагрузите компьютер.
Удалите ненужные файлы
Еще один способ освободить место на вашем компьютере — вручную удалить ненужные файлы и программы. Начните с видеофайлов, потому что они занимают много места для хранения. А затем удалите все остальные файлы, которые вам больше не нужны.
Запустите SFC и DISM
Поврежденные системные файлы могут время от времени вызывать ошибки GPF.
- Запустите командную строку от имени администратора.
- Выполните следующие команды и нажимайте Enter после каждой:
- sfc / scannow
- DISM / Онлайн / Очистка-Образ / CheckHealth
- DISM / Онлайн / Очистка-Изображение / ScanHealth
- DISM / Онлайн / Очистка-Образ / RestoreHealth
- Перезагрузите компьютер и проверьте, сохраняется ли ошибка.
Запустите программу в режиме совместимости
Запустите программу, вызвавшую эту ошибку, в режиме совместимости. Многим пользователям, столкнувшимся с ошибками GPF во время игры в видеоигры, удалось решить проблему, запустив проблемную игру в режиме совместимости.
Для этого щелкните правой кнопкой мыши программу, вызывающую ошибку, и нажмите Характеристики. Затем нажмите на Вкладка совместимости и отметьте вариант, который говорит Запустите эту программу в режиме совместимости. В раскрывающемся меню выберите Windows 7.
И не забывайте обновлять драйверы. Загрузите последние версии драйверов с веб-сайта производителя вашего устройства.
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения) |
А общая ошибка защиты (GPF) в x86 архитектуры наборов команд (ISA) — это вина (тип прерывать ) инициируется определенными ISA механизмами защиты в ответ на нарушение прав доступа, вызванное каким-либо работающим кодом, либо в ядро или пользовательская программа. Этот механизм впервые описан в руководствах и таблицах данных Intel для Intel 80286 CPU, представленный в 1983 году; это также описано в разделе 9.8.13 в Intel 80386 справочное руководство программиста 1986 года. Общая ошибка защиты реализована как прерывание (вектор номер 13 (0Dh)). Немного операционные системы может также классифицировать некоторые исключения, не связанные с нарушениями доступа, например незаконные код операции исключения, как общие ошибки защиты, даже если они не имеют ничего общего с защитой памяти. Если ЦП обнаруживает нарушение защиты, он прекращает выполнение кода и отправляет прерывание GPF. В большинстве случаев операционная система удаляет неисправный процесс из очереди выполнения, сигнализирует пользователю и продолжает выполнение других процессов. Если, однако, операционная система не может уловить общий сбой защиты, то есть другое нарушение защиты происходит до того, как операционная система вернется из предыдущего прерывания GPF, ЦП сигнализирует об ошибке. двойная ошибка, остановка операционной системы. Если еще одна неудача (тройная ошибка ) происходит, ЦП не может восстановить; начиная с 80286, ЦП переходит в особое состояние остановки, называемое «Завершение работы», из которого можно выйти только через аппаратный сброс. В IBM PC AT, первый ПК-совместимый Система, содержащая 80286, имеет оборудование, которое определяет состояние выключения и автоматически сбрасывает CPU при его возникновении. Все потомки AT PC делают то же самое, поэтому в PC тройная ошибка вызывает немедленный сброс системы.
Особое поведение
В Майкрософт Виндоус, общая ошибка защиты отображается на разных языках в зависимости от версии продукта:
В Unix и Linux, ошибки сообщаются отдельно (например, ошибка сегментации для ошибок памяти).
Ошибки памяти
При ошибках памяти программа-сбой обращается к объем памяти что он не должен получить доступ. Примеры включают:
- Попытка написать доступная только для чтения часть памяти
- Попытка выполнить байты в памяти, которые не обозначены как инструкции
- Попытка прочитать байты данных в памяти, которые обозначены как инструкции
- Другие разные конфликты между обозначением части памяти и ее использованием
Однако многие современные операционные системы реализуют свои схемы управления доступом к памяти через разбиение на страницы вместо сегментации, поэтому часто бывает, что недопустимые ссылки на память в операционных системах, таких как Windows, сообщаются через ошибки страницы вместо общих неисправностей защиты. Операционные системы обычно предоставляют уровень абстракции (такой как обработка исключений или сигналы), который скрывает любой внутренний механизм процессора, который использовался для вызова ошибки доступа к памяти из программы, с целью предоставления стандартного интерфейса для обработки множества различных типов генерируемых процессором условия ошибки.
Что касается архитектуры x86, общие сбои защиты специфичны для защиты на основе сегментации, когда дело касается доступа к памяти. Однако общие сбои защиты по-прежнему используются для сообщения о других нарушениях защиты (помимо нарушений доступа к памяти) при использовании подкачки страниц, таких как использование инструкций, недоступных из текущий уровень привилегий (CPL).
Хотя теоретически операционная система может использовать как подкачку, так и сегментацию, по большей части обычные операционные системы обычно полагаются на подкачку для большей части своих потребностей в управлении доступом к памяти.
Ошибки привилегий
На компьютере есть некоторые вещи, которые предназначены для исключительного использования Операционная система. Если программа, не являющаяся частью операционной системы, пытается использовать одну из этих функций, это может вызвать общий сбой защиты.
Кроме того, есть места хранения, которые зарезервированы как для операционной системы, так и для самого процессора. Вследствие их резервирования они доступны только для чтения, и попытка записи данные для них непривилегированной программой — ошибка.
Технические причины неисправностей
Общие сбои защиты возникают процессором, когда обнаруживается защищенная инструкция, которая превышает уровень разрешений выполняемой в данный момент задачи, либо потому, что программа пользовательского режима пытается выполнить защищенную инструкцию, либо потому, что операционная система выдала запрос, который поместит процессор в неопределенное состояние.
Сбои общей защиты обнаруживаются и обрабатываются современными операционными системами. Обычно, если неисправность возникла в программе пользовательского режима, программа пользовательского режима завершается. Однако, если неисправность возникла в основном драйвере системы или в самой операционной системе, операционная система обычно сохраняет диагностическую информацию либо в файл, либо на экран и прекращает работу. Он либо перезагружает компьютер, либо отображает экран ошибки, например Синий экран смерти или же паника ядра.
Превышены пределы сегмента
Пределы сегмента могут быть превышены:
- с сегмент кода (CS), сегмент данных (DS) или регистры ES, FS или GS (дополнительный сегмент); или же
- доступ к таблицам дескрипторов, таким как Глобальная таблица дескрипторов (GDT), Таблица дескрипторов прерываний (IDT) и Таблица локальных дескрипторов (LDT).
Нарушены разрешения на сегмент
Права доступа к сегментам могут быть нарушены:
- переход к неисполняемым сегментам
- запись в сегменты кода или сегменты только для чтения
- чтение сегментов только для выполнения
Незаконно загруженные сегменты
Это может произойти, когда:
- сегмент стека (SS) загружается с помощью селектора сегмента только для чтения, исполняемого, нулевого сегмента или сегмента с привилегией дескриптора, не соответствующей текущей привилегии в CS
- сегмент кода (CS), загруженный с селектором сегментов для данных, системы или нулевого сегмента
- SS, DS, ES, FS или GS — это сегменты, загруженные с помощью селектора сегмента для системного сегмента.
- SS, DS, ES, FS или GS — это сегменты, загруженные с помощью селектора сегмента для сегмента кода только для выполнения
- доступ к памяти с использованием регистров DS, ES, FS или GS, если они содержат нулевой селектор
Переключение
Неисправности могут возникнуть в сегмент состояния задачи (TSS) структура, когда:
- переключение на занятую задачу во время вызова или инструкции перехода
- переключение на доступную задачу во время выполнения инструкции возврата из прерывания (IRET)
- использование селектора сегмента на переключателе, указывающем на дескриптор TSS в LDT[требуется разъяснение ]
Разное
Другими причинами общих отказов защиты являются:
- пытается получить доступ к обработчику прерывания / исключения из виртуальный режим 8086 когда дескриптор сегмента кода обработчика уровень привилегий (DPL) больше нуля
- пытается записать единицу в зарезервированные биты CR4
- пытаясь выполнить привилегированный инструкции, когда текущий уровень привилегий (CPL) не равен нулю
- запись в зарезервированный бит в MSR инструкция
- доступ к воротам, содержащим селектор нулевого сегмента
- выполнение программного прерывания, когда CPL больше DPL, установленного для логического элемента прерывания
- селектор сегмента в шлюзе вызова, прерывания или прерывания не указывает на сегмент кода
- нарушение правил привилегий
- включение пейджинга при отключении защиты
- обращение к таблице дескрипторов прерывания после прерывания или исключения, которое не является прерыванием, ловушкой или шлюзом задачи
- Наследие SSE: Операнд памяти не выровнен по 16 байтам.
Рекомендации
- ^ «Устранение неисправности« Неустранимой ошибки приложения »в DrWatson». Поддерживать. Microsoft. 27 февраля 2014 г.
дальнейшее чтение
- Руководство разработчика программного обеспечения для архитектуры Intel–Том 3: Системное программирование
A Общая ошибка защиты (GPF ) в x86 архитектуры набора команд (ISA) — это ошибка (тип прерывания ), инициированная определенными ISA механизмами защиты в ответ на нарушение доступа, вызванное каким-либо выполняющимся кодом, либо в ядре, либо в пользовательской программе. Механизм впервые описан в руководствах и технических данных Intel для ЦП Intel 80286, который был представлен в 1983 году; он также описан в разделе 9.8.13 справочного руководства программиста Intel 80386 от 1986 года. Общая ошибка защиты реализована как прерывание (вектор номер 13 (0Dh)). Некоторые операционные системы могут также классифицировать некоторые исключения, не связанные с нарушениями доступа, такие как недопустимые исключения opcode, как общие ошибки защиты, даже если они не имеют ничего общего с защитой памяти. Если ЦП обнаруживает нарушение защиты, он прекращает выполнение кода и отправляет прерывание GPF. В большинстве случаев операционная система удаляет отказавший процесс из очереди выполнения, сигнализирует пользователю и продолжает выполнение других процессов. Если, однако, операционная система не может уловить общий сбой защиты, то есть другое нарушение защиты происходит до того, как операционная система вернется из предыдущего прерывания GPF, ЦП сигнализирует двойной сбой, останавливая операционную систему. Если произойдет еще один сбой (тройной сбой ), ЦП не сможет восстановить; начиная с 80286, ЦП переходит в особое состояние остановки, называемое «Завершение работы», из которого можно выйти только с помощью аппаратного сброса. IBM PC AT, первая PC-совместимая система, содержащая 80286, имеет оборудование, которое определяет состояние выключения и автоматически сбрасывает CPU при его возникновении. Все потомки PC AT делают то же самое, поэтому в PC тройная ошибка вызывает немедленный сброс системы.
Содержание
- 1 Особое поведение
- 2 Ошибки памяти
- 3 Ошибки привилегий
- 4 Технические причины сбоев
- 4.1 Превышены пределы сегмента
- 4.2 Разрешения сегмента нарушены
- 4.3 Сегменты незаконно загружено
- 4.4 Переключение
- 4.5 Разное
- 5 Ссылки
- 6 Дополнительная литература
Особое поведение
В Microsoft Windows общая ошибка защиты представлена различными язык, в зависимости от версии продукта:
В Unix и Linux ошибки сообщаются отдельно (например, segmentation fault для ошибок памяти).
Ошибки памяти
При ошибках памяти вызывающая сбой программа обращается к памяти, к которой она не должна обращаться. Примеры включают:
- Попытка записи в доступную только для чтения часть памяти
- Попытку выполнить байтов в памяти, которые не обозначены как инструкции
- Попытка чтения как байты данных в памяти, которые обозначаются как инструкции
- Другие разные конфликты между обозначением части памяти и ее использованием
Однако многие современные операционные системы реализуют свои схемы управления доступом к памяти через подкачку вместо сегментация, поэтому часто бывает, что недопустимые ссылки на память в операционных системах, таких как Windows, сообщаются через ошибки страницы вместо общих ошибок защиты. Операционные системы обычно предоставляют уровень абстракции (такой как обработка исключений или сигналы), который скрывает любой внутренний механизм процессора, который использовался для вызова ошибки доступа к памяти из программы, с целью предоставления стандартного интерфейса для обработки множества различных типов генерируемых процессором условия ошибки.
С точки зрения архитектуры x86, общие сбои защиты относятся к защите на основе сегментации, когда дело касается доступа к памяти. Однако общие сбои защиты по-прежнему используются для сообщения о других нарушениях защиты (помимо нарушений доступа к памяти) при использовании подкачки, например, об использовании инструкций, недоступных с текущего уровня привилегий (CPL).
Хотя для операционной системы теоретически возможно использовать как разбиение на страницы, так и сегментацию, по большей части обычные операционные системы обычно полагаются на разбиение на страницы для большей части своих потребностей в управлении доступом к памяти.
Ошибки привилегий
На компьютере есть некоторые вещи, которые зарезервированы для исключительного использования операционной системы. Если программа, не являющаяся частью операционной системы, пытается использовать одну из этих функций, это может вызвать общий сбой защиты.
Кроме того, есть места хранения, которые зарезервированы как для операционной системы, так и для самого процессора. Вследствие их резервирования они доступны только для чтения, и попытка записать в них данные непривилегированной программой является ошибкой.
Технические причины сбоев
Сбои общей защиты вызываются процессором при обнаружении защищенной инструкции, превышающей уровень разрешений текущей выполняемой задачи, либо из-за попытки программы пользовательского режима защищенная инструкция, или потому что операционная система выдала запрос, который переводит процессор в неопределенное состояние.
Общие сбои защиты обнаруживаются и обрабатываются современными операционными системами. Обычно, если неисправность возникла в программе пользовательского режима, программа пользовательского режима завершается. Однако, если неисправность возникла в основном драйвере системы или в самой операционной системе, операционная система обычно сохраняет диагностическую информацию либо в файл, либо на экран и прекращает работу. Он либо перезагружает компьютер, либо отображает экран ошибки, например синий экран смерти или паника ядра.
превышены пределы сегмента
ограничения сегмента может быть превышено:
- с сегментом кода (CS), сегментом данных (DS) или регистрами ES, FS или GS (дополнительный сегмент); или
- доступ к таблицам дескрипторов, таким как глобальная таблица дескрипторов (GDT), таблица дескрипторов прерываний (IDT) и таблица локальных дескрипторов (LDT).
Нарушены разрешения для сегментов
Разрешения для сегментов могут быть нарушены:
- переходом к неисполняемым сегментам
- записью в сегменты кода или сегментами только для чтения
- чтение сегментов только для выполнения
незаконно загруженных сегментов
Это может произойти, когда:
- сегмент стека (SS) загружен с помощью селектора сегмента для исполняемого нулевого сегмента только для чтения, или сегмент с привилегией дескриптора, не соответствующей текущей привилегии в CS
- , сегмент кода (CS), загруженный с помощью селектора сегмента для данных, системы или нулевого сегмента
- SS, DS, ES, FS или GS — это сегменты, загруженные с помощью селектора сегмента для системного сегмента
- SS, DS, ES, FS или GS — это сегменты, загруженные с помощью селектора сегмента для сегмента кода только для выполнения
- доступ к памяти с использованием регистров DS, ES, FS или GS, когда они сохранить нулевой селектор
Переключение
Неисправности могут возникать в структуре сегмента состояния задачи (TSS), когда:
- переключение на занятую задачу во время вызова или инструкции перехода
- переключение на доступную задачу во время инструкции возврата из прерывания (IRET)
- с использованием селектора сегмента на переключателе, указывающем на дескриптор TSS в LDT
Разное
Другие причины из общих ошибок защиты:
- попытка доступа к обработчику прерывания / исключительной ситуации из виртуального режима 8086, когда дескриптор сегмента кода обработчика уровень привилегий (DPL) больше нуля
- попытка записать единицу в зарезервированные биты CR4
- попытка выполнить привилегированные инструкции, когда текущий уровень привилегий (CPL) не равен нулю
- запись на зарезервированный бит в инструкции MSR
- , обращающейся к шлюзу, содержащему селектор нулевого сегмента
- , выполнение программного прерывания, когда CPL больше DPL, установленного для прерывания грамм ate
- селектор сегмента в шлюзе вызова, прерывания или ловушки не указывает на сегмент кода
- , нарушающий правила привилегий
- , включающий пейджинг при отключении защиты
- обращение к таблице дескрипторов прерываний после прерывания или исключения, которое не является прерыванием, ловушкой или шлюзом задачи
- Legacy SSE : операнд памяти не выровнен по 16 байтам.
Ссылки
Дополнительная литература
- Руководство разработчика программного обеспечения Intel Architecture — Том 3: Системное программирование
Содержание
- Ошибка приложения память не может быть read windows
- «Ошибка: память не может быть read» Исправляем
- Если отключение службы не помогло исправить ошибку приложения память не может быть read?
- Системная библиотека ole.dll
- Конфликт между программами
- И так, как исправить ошибку.
- Память не может быть written и read в Windows 10
- Методы исправления ошибки 0x00000000 или память не может быть Read
- Как исправить ошибку 0x00000000 или память не может быть Read на Windows 7?
- Как исправить ошибку 0x00000000 на Windows 8.1?
- Исправление ошибки 0x00000000 на Windows 10
- Память не может быть read/written. Как исправить ошибку
- 1) Предотвращение выполнения данных
- 2) Файл подкачки
- 3) Библиотека ole32.dll
- 4) Отчеты об ошибках
- 5) Конфликт ПО / Ошибки в ПО
Ошибка приложения память не может быть read windows
Ошибка память не может быть read – не такое частое явление у современных компьютеров. Отчасти поэтому, когда на экране вдруг появляется сообщение «Ошибка: память не может быть read», пользователи, буквально, впадают в ступор.
Есть несколько принципиальных моментов.
«Ошибка: память не может быть read» Исправляем
Отключение DEP (Службы прекращения данных). Эта служба как раз контролирует использование памяти программами. В частности, примером ее работы служит сообщение о прекращении работы приложения, которое может появиться на экране с заголовком «Прекращена работа программы». Программа закрывается, результат работы теряется, поскольку память блокируется.
Чтобы добраться до службы. Идем в Панель управления – Система. Слева находим ссылку Дополнительные параметры, в окошке переходим на вкладочку Дополнительно, затем Быстродействие и Параметры.
Нам нужна вкладка Предотвращение выполнения данных. Включаем переключатель, позволяющий активировать службу DEP для отдельных программ. Теперь добавляем в список те программы-исключения, для которых хотим службу отключить, с помощью кнопки «Добавить».
Остается только дважды щелкнуть мышью исполняемый файл выбранной программы и нажать «Ок». После перезагрузки изменения вступят в силу.
Это было редактирование работы службы. Теперь рассмотрим, как ее отключить.
Если отключение службы не помогло исправить ошибку приложения память не может быть read?
Значит ваша «Ошибка приложения: память не может быть read» имеет несколько иное происхождение.
Системная библиотека ole.dll
Если установка/удаление программ по каким-то причинам происходило некорректно, то это отражается на содержимом системной библиотеки. Ошибки копятся и имеют, в том числе, и такое проявление. Чтобы их исправить, нужно в строке «Выполнить» (Поиск) меню Пуск ввести команду: regsvr32 %SystemRoot%system32ole32.dll.
После этого нажать Enter и перезагрузиться.
Конфликт между программами
Такое тоже бывает в этой жизни: одна программа создает проблемы для другой и вместе они работать никак не хотят. Те, кто давно работает с компьютерами, наверняка помнят, как некогда намертво зависала система, когда одновременно устанавливали антивирус (Касперского или ESET) и брандмауэр McAfee Firewall. Отличный пример подобной несовместимости.
Чтобы избежать подобного. Следует просто следовать нескольким нехитрым правилам.
Соблюдать ну хоть какую-то упорядоченность и разборчивость в устанавливаемых приложениях (проще говоря, не устанавливать все подряд).
Регулярно производить очистку дисков и системы. Желательно полную и бескомпромиссную. С привлечением «спецсредств», хотя бы простого и всем знакомого CCleaner или других подобных приложений.
Таковы основные причины, приводящие к ошибкам чтения памяти. Конечно, это не полный список, однако, если воспользоваться нашими советами, возможно, вы уже никогда не увидите неприятных сообщений о невозможности чтения памяти.
Источник
Не буду оригинальным, но, если подобная ошибка вылетает при запуске игры (загруженной с интернета из неизвестного источника) — есть высокая вероятность, что вы пытаетесь запустить опасное приложение, а система предотвращает сие действие.
Ниже в статье рассмотрю общую последовательность действий для устранения подобной проблемы.
И так, как исправить ошибку.
👉 ШАГ 1
Загружаем какой-нибудь «одноразовый» антивирус (например, Dr.Web CureIt!) и проверяем папку с игрой (приложением, которое вылетает) и системный диск с Windows.
Примечание : рекомендую это сделать даже в том случае, если у вас установлен какой-нибудь антивирус.
Dr.Web CureIt! — найдена угроза!
Если будут найдены вредоносное ПО — удалите копию игры (приложения) и перезагрузите ее 👉 с офиц. магазинов. Установите и перепроверьте — как правило, после этого всё начинает работать в штатном режиме.
👉 ШАГ 2
Если вирусы не были найдены и с файлами игры (приложения) все в порядке — отключите временно антивирус (защитник Windows) и попробуйте еще раз запустить игру.
Примечание : в некоторых случаях антивирус может блокировать норм. работу игр. Если окажется, что «виновником» является именно защитное ПО — добавьте нужную игру в белый список антивируса.
Отключение антивируса Avast на 1 час
Безопасность Windows — параметры ОС
👉 ШАГ 3
В качестве диагностики (на время) стоит ее попробовать отключить.
Вариант 1 : запускаем 👉 командную строку от имени администратора и используем команду: bcdedit.exe /set nx AlwaysOff
(для включения: bcdedit.exe /set nx AlwaysOn)
необходимо открыть вкладку «Панель управленияСистема и безопасностьСистема» и перейти в раздел с доп. параметрами.
Доп. параметры системы
После открыть параметры быстродействия и перейти во вкладку «Предотвращение выполнения данных» и добавить то приложение, для которого нужно отключить DEP (например, проблемную игру).
👉 ШАГ 4
После, посоветовал бы проверить целостность системных файлов (сделать это можно в командной строке, запущенной от имени администратора).
Команда для проверки: sfc /scannow
В идеале, по завершению проверки, вы должны увидеть сообщение о том, что нарушение целостности файлов не обнаружены (см. скриншот ниже 👇).
👉 ШАГ 5
Обновление ОС Windows 10
👉 ШАГ 6: еще «пару» советов
Проверьте путь установки игры
Проверьте плашки ОЗУ
Также попробуйте отключить часть из них, оставив всего одну плашку (это для тех, у кого их 2 и более). Кстати, не лишним будет протереть контакты RAM резинкой и кисточкой.
Чистка контактов памяти резинкой и кисточкой
Проверьте BIOS: не разогнаны ли плашки
В BIOS/UEFI можно изменять частоту работы плашек ОЗУ (на ноутбуках, обычно, данной опции нет). И если частота выставлена не оптимальная — ПК может вести себя не стабильно: внезапно перезагружаться, «показывать» синие экраны (иногда сыпать ошибки чтения памяти).
Как войти в BIOS (UEFI) на компьютере или ноутбуке [инструкция]
Чаще всего частота памяти помечается как DRAM Frequency (рекомендуется снизить текущую частоту на 5-10%).
Если вы слабо в этом разбираетесь — то просто перейдите в раздел «Exit» и установите 👉 безопасные настройки (Load Optimized Defaults, Load Fail-Safe Defaults). Таким образом частота будет автоматически сброшена в наиболее оптимальную для вашей системы.
Настройки ОЗУ и встроенной графики / UEFI
Если вы исправили ошибку как-то иначе — сообщите в комментариях (заранее благодарю!).
Источник
Память не может быть written и read в Windows 10
Ошибка с сообщением память не может быть read или written возникает по различным причинам. Однако можно отметить один общий факт. Для каждой программы в памяти выделяется определенный объем места. Если программа начинает лезть за пределы этого выделенного места, пытается что-то считать (read) или записать (written), появляется это сообщение. Разработчики компании Microsoft не дают каких-либо рекомендаций по устранению неполадки. Поэтому, если вас интересует, почему появилась ошибка память не может быть written Windows 10 и как исправить неполадку, стоит ознакомиться со следующими рекомендациями.
Исправление ошибок памяти зачастую длительное, так как нужно определить, возник программный сбой или физическая поломка планки ОЗУ.
Способ №1. Редактирование DEP
DEP или «Предотвращение выполнения данных» используется для защиты ПК от вирусов и вредоносных объектов. Однако это пассивная защита. Инструмент не препятствует проникновению вирусов в систему, а только контролирует использование системной памяти различными программами. В результате, при возникновении ошибки память не может быть read, пользователь может понять, что система вероятно инфицирована.
Отключать такую опцию не желательно, однако, если вы не можете запустить важную для вас программу, DEP можно приостановить. Для этого стоит выполнить следующее:
Способ №2. Несовместимость программ между собой
Часто антивирусные программы блокируют запуск различных приложений. Поэтому стоит на время отключить защиту системы или внести программу, которая выдает ошибку, в исключения антивируса.
Способ №3. Кириллические символы на пути к файлу
Если у вас возникла ошибка память не может быть read или written, стоит проверить, нет ли в пути к установочному файлу русских символов. Возможно, при установке программы вы создали папку с русским названием. В таком случае исправлять название папки не нужно. Программу придется переустановить и создать для неё директорию с английским названием.
Способ №4. Сбой в обращении к системной библиотеке
Данная неполадка может быть связана с проблемой обращения к системной библиотеке ole32.dll. Если вы ранее устанавливали или удаляли какую-то программу, стоит нажать «Win+R» и ввести «regsvr32 %SystemRoot%system32ole32.dll».
После выполнения команды стоит перезагрузить систему.
Способ №5. Редактирование настроек процессора
Если ваш процессор многоядерный, стоит скачать программу CPU-Control и в настройках выставить значение «Auto» или «CPU 1».
Если у вас одноядерный процессор, данная программа вам не поможет.
Способ №6. Проблемы с файлом подкачки
Часто неправильно заданные параметры файла подкачки могут стать причиной ошибки память не может быть read. Чтобы исправить неполадку стоит отредактировать значения для объема файла подкачки в зависимости от объема RAM самого ПК.
О том, как зайти в файл подкачки в Windows 10 читайте по ссылке. Далее сверяем и выставляем правильные значения.
После редактирования файла стоит перезагрузить компьютер.
Способ №7. Несовместимость оперативной памятью
Конечно, если ОЗУ изначально несовместима, при загрузке ПК будет проходить соответственный пост и появится ошибка. Однако от сбоев в работе планок никто не застрахован. Стоит запустить MemTest86 и проверить установленные модули. Также рекомендуем запустить AIDA64 и проверить температуру планок.
Способ №8. Настраиваем тайминги
Оперативная память построена на таймингах (задержках) в чтении и записи данных. Стандартные настройки оперативной памяти с её задержками выглядят так:
Обратите внимание, что тайминги для каждой частоты разные. Если они заданы неправильно (хотя материнская плата должна делать это автоматически), то компьютер может работать нестабильно. Обычно это проявляется в зависании программ, возникновении ошибок. Соответственно, рекомендуется установить тайминги вручную. Сделать это можно только в BIOS’е.
О том, как настроит оперативную память в БИОСе смотрите в видео:
Источник
Методы исправления ошибки 0x00000000 или память не может быть Read
При запуске игры Apex Legends может появиться ошибка 0x00000000 с сообщением Память не может быть Read. Возникает она как на Windows 7, так и на более поздних сборках Windows 8 и 10. Причин такой ошибки много: повреждение файлов программы, отсутствие нужных обновлений, повреждение параметров реестра. Для каждой версии операционной системы имеются свои способы решения проблемы.
Как исправить ошибку 0x00000000 или память не может быть Read на Windows 7?
Если при запуске игры Apex Legends на Windows 7 у вас появилась ошибка 0x00000000, то стоит проверить систему на вирусы с помощью антивируса с обновленными вирусными базами. Далее стоит запустить командную строку с правами Администратора и ввести sfc /scannow.
Если инструмент не обнаружил нарушения целостности, то стоит внести правки в системный реестр. Для этого выполняем следующие действия:
Проблема должна быть решена. Если ошибка память не может быть Read с кодом 0x00000000 продолжает появляться, стоит переустановить всю игру.
Как исправить ошибку 0x00000000 на Windows 8.1?
При появлении ошибки на компьютере с Windows 8.1 нужно установить два официальных обновлений:
После установки обновлений и перезагрузки ПК ошибка должна исчезнуть.
Исправление ошибки 0x00000000 на Windows 10
Для того, чтобы исправить ошибку 0x00000000 на компьютере с Windows 10, придется обновить всю операционную систему, а также, в некоторых случаях, пользователям помогла переустановка самой игры Apex Legends. Также при запуске данного приложения стоит на время отключить антивирус. Если ошибка исчезнет, то игру нужно внести в исключения антивируса. Если же ошибка не исчезла, то нужно написать в службу поддержки разработчика игр. Должен выйти патч для исправления неполадки.
Источник
Память не может быть read/written. Как исправить ошибку
Вероятно, Вы сталкивались с этой ошибкой: «Память не может быть «read» или «Память не может быть «written». Она может быть весьма раздражающей, если встречается регулярно, хотя и не является смертельной для ОС Windows и не свидетельствует о неисправности оперативной памяти, как зачастую заблуждаются. Попробуем отыскать причину ошибки и исправить её.
К сожалению, какой-то одной причины ошибка «Память не может быть «read/written» не имеет. В целом, это весьма общее сообщение операционной системы о том, что какое-то приложение неправильно обращается к оперативной памяти компьютера, а именно, пытается выйти за границы выделенного ему пространства и что-то считать оттуда или туда записать. Как уже было сказано, крайне маловероятно, что такая ошибка символизирует об аппаратных неисправностях. Вирусы тоже довольно редко вызывают такую ошибку, хотя запустить антивирусную проверку никогда не будет лишним.
Теперь перейдем к вероятным причинам и методам решения проблемы.
1) Предотвращение выполнения данных
Мы уже затрагивали, что такое DEP. Иногда данной системе кажется, что какая-то программа затрагивает ту область память, которую она затрагивать не должна. В таком случае можно добавить эту программу в исключения или вовсе отключить DEP (это уже как крайняя мера). Подробнее можно прочитать в статье, ссылка на которую дана в начале данного абзаца.
2) Файл подкачки
Причина может быть актуальна для компьютеров с малым объемом оперативной памяти. Если Вы используете ПО, для которого требуется слишком большой объем памяти, а ОЗУ и файл подкачки не могут его предоставить, может появляться такая ошибка. Решением является увеличение объема ОЗУ или файла подкачки. Первое, конечно, эффективнее.
3) Библиотека ole32.dll
Довольно специфическая причина, связанная с тем, что при установке или удалении различного ПО данная системная библиотека могла быть повреждена или разрегистрирована. Для решения проблемы нажмите Пуск → Выполнить и введите команду
regsvr32 %SystemRoot%System32ole32.dll
Об успешной регистрации библиотеки будет свидетельствовать данное сообщение:
4) Отчеты об ошибках
Тоже весьма специфическая проблема. Иногда подобной ошибки можно избежать, отключив отправку отчетов об ошибки в адрес Microsoft. Тем более, что вряд ли кто-то всерьез верит, что отправка этих отчетов вообще помогает. 🙂
В Windows 7 это можно сделать через Центр поддержки, который находится в Панели управления.
Первым делом нажмите на стрелочку (см. скриншот) в разделе Обслуживание. Это откроет ранее скрытые пункты, и вы сможете добраться до параметров. Выберите там пункт «Не проверять на наличие новых решений».
5) Конфликт ПО / Ошибки в ПО
Как ни странно, но проблема может быть и в конкретной программе. Если проблема началась после обновления данного ПО, то имеет смысл откатиться на старую версию, и посмотреть, будут ли наблюдаться проблемы в ней.
Также нередки конфликты с антивирусным ПО. Если Вы уверены в благонадежности программы, можно добавить её в список исключений из проверки.
Помимо антивирусов, конфликт может быть и с другим программным обеспечением. В данном случае можно порекомендовать держать на компьютере лишь действительно необходимое Вам ПО. Так Вы минимизируете риск появления ошибки. Иногда может быть полезно откатиться на более ранее состояние системы, если делались точки восстановления, через встроенную утилиту Восстановление системы (в Windows 7 Пуск → Все программы → Стандартные → Служебные). В самом крайнем случае может понадобиться переустановка операционной системы. При этом было бы недурно снять образ жесткого диска (или системного раздела), чтобы можно было вернуть всё как было. И, только если проблема будет наблюдаться в «чистой» ОС, утверждать об аппаратной причине ошибки. О том, как проверить оперативную память на наличие ошибок, можете прочитать в статье по этой ссылке.
Источник