Должно ли появиться какое-либо сообщение об ошибке или произойдет сбой приложения?

Я видел следующее сообщение:

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

Это имеет место, когда система находится под большей нагрузкой. Я еще не смог контролировать точное использование памяти.

Это на Windows XP SP3, сборка 2600.

3 ответа3

0

Чтобы установить Windows и / или загрузиться в Windows, определенное количество памяти уже необходимо. Windows не будет установлена, если недостаточно памяти. Но если у вас достаточно памяти, установите Windows, затем удалите память, Windows не загрузится.

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

Ну, то, что происходит, зависит от нескольких вещей.

Использовал ли программист вызовы Windows API для правильного управления памятью, если это так, программа должна просто отображать сообщение об ошибке при попытке выполнить определенные задачи. Если загрузка самой программы превышает память, она может привести к сбою при запуске, сообщая: «Эта программа неожиданно прервана. Отправить сообщение об ошибке в Microsoft "

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

Языки программирования, такие как c++, позволяют осуществлять прямое управление памятью и являются достаточно мощными для сбоя окон, когда код вставлен без надлежащих проверок.

Windows имеет определенные встроенные средства защиты в виде BSoD, но это все еще сбой.

0

Во-первых, вы не можете отключить подкачку в Windows. Я полагаю, вы имеете в виду, что нет файла подкачки. И ответ - ничего необычного не происходит. Это совершенно нормальное состояние.

Когда Windows не хватает ОЗУ и ему для чего-то требуется ОЗУ, она выполняет одно из следующих действий:

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

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

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

Как и большинство современных операционных систем, Windows обычно почти не имеет оперативной памяти. Если бы в нем не было ОЗУ, он имел бы кэш-память на диске, которая была бы меньше, чем могла бы, что приводило к ненужным операциям ввода-вывода.

0

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

Лимит фиксации - это размер ОЗУ + размер файла подкачки - небольшие накладные расходы. Без файла подкачки он будет немного меньше размера оперативной памяти. При многих типичных рабочих нагрузках, даже с 4 ГБ ОЗУ, этого может быть недостаточно.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .