ОС зависает, когда ОС начинает менять память

517
seb-mtl

Предыстория: у меня в машине 16 ГБ памяти.

Когда моя машина использует уже 15 ГБ памяти, и мое приложение выделяет еще один кусок памяти в 2 ГБ, у меня заканчивается физическая память, и появляется место подкачки (должно) и используется доступное дисковое пространство. Вместо этого Windows полностью зависает. Почему это происходит? Я думал, что Windows (пользовательский процесс) никогда не выстраивает связанные с памятью процессы / потоки / os-память. Почему это блокирует тогда?

Я ожидаю, что мой процесс зависает, но почему это происходит со всей ОС? Одна идея: это связано с объемом памяти в 2 ГБ, который блокирует управление внутренней памятью до тех пор, пока это не будет успешно выполнено. Поэтому блокируются и другие процессы. Я не уверен, имеет ли это смысл. Что вы думаете об этом?

2
Я не совсем уверен, что происходит. Ваш жесткий диск выходит из строя? Или из космоса? Или все программы, которые вы используете, продолжают работать? Xen2050 9 лет назад 0
Вы отключили автоматическое управление памятью Windows? У вас есть файл подкачки? Windows думает, что он находится в другом месте? Optichip 9 лет назад 0
В моей машине я использую фьюжн-диск с почти 200 ГБ свободного места на жестком диске. Привод работает без проблем. Мне интересно, что вызвало это, потому что я могу воспроизвести это на нескольких машинах с различными конфигурациями в нескольких офисах. К вашему сведению: система не падает, она просто зависает. ОС работает с настройками по умолчанию в управлении памятью. seb-mtl 9 лет назад 0

2 ответа на вопрос

2
sweet home

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

Если Windows находится под давлением памяти (недостаточно ОЗУ), она начинает выгружать данные из ОЗУ в файл жесткого диска / страницы. Точный алгоритм обмена данными является очень сложным, но в целом это наименее используемая память, которая не заблокирована от обмена (некоторые страницы ядра, драйверы жесткого диска и т. Д. Заблокированы). Он может даже менять части файла explorer.exe и некоторых других важных процессов графического интерфейса или брандмауэра / антивируса. Когда вы пытаетесь взаимодействовать с графическим интерфейсом, он должен загрузить его обратно с жесткого диска, который очень медленный по сравнению с оперативной памятью, и я видел случаи, когда требуется хотя бы 15 минут, чтобы хотя бы частично разморозить рабочий стол.

Если вы хотите продолжить расследование, я рекомендую использовать монитор производительности. В Windows 8 вы можете получить к нему доступ через TaskManager-> Performance-> Ressource Monitor, но он также может использоваться в старых системах Windows. В Windows 8 вы даже можете увидеть, какой процесс и какой файл является виновником.

Спасибо за этот ответ. Как бороться с тем, что даже монитор ресурсов может зависнуть? В последнем случае я перезапустил машину после двух часов отсутствия ответа - поэтому я должен дать ей еще больше времени (в конечном итоге), чтобы вернуться? seb-mtl 9 лет назад 0
Какую ОС вы используете? Также может помочь просмотр менеджера событий, потому что 2 часа кажутся чрезвычайно длинными, за исключением, может быть, машины все время под большой нагрузкой. Там вы можете найти другую причину зависания вместо медленной смены жесткого диска, например, ошибки чтения / записи диска или сбой служб Windows, короче говоря, все красное, а иногда и желтое. Вы также можете попытаться снизить приоритет вашего процесса в менеджере задач или изнутри вашего процесса. Замораживая, вы подразумеваете, что реагируете крайне медленно, полностью заморожены или заморожены, но мышь подвижна? sweet home 9 лет назад 0
Я нахожусь на Windows 7, но я также могу воспроизвести это на нескольких других машинах с Windows 8. С зависанием я имею в виду полное замораживание (звук перестает играть, мышь больше не двигается). Как уже упоминалось, профилировщики также больше не работают, поэтому мне сложно определить, что вызывает эту проблему, когда профилировщики даже не обновляют свое представление. Я не знаю, вернется ли когда-нибудь машина. seb-mtl 9 лет назад 0
0
Xen2050

Прочитав вопрос и комментарии, я думаю, что могу ответить ...

Это то, как работает любой другой компьютер Windows, из того, что вы сказали.

Ваш ответ будет ... "Жесткие диски медленные"

Я согласен, но почему процессы, такие как проводник, тоже меняются местами? Я знаю, это пользовательский процесс, но все еще интересно. seb-mtl 9 лет назад 0