Задать вопрос
@kaka888
C, C++, Qt, Python, Flask, aiogram, MySQL, Redis..

На что Windows выделяет столько памяти?

У меня мощный компьютер с Windows 11. Если не перезагружать его где-то месяц (лишь вводить в гибернацию на ночь), то за это время "выделенная память" в диспетчере задач достигнет своего предела (на текущий момент это 48 ГБ, т.е. объём ОЗУ + макс. размер файла подкачки) и открытые приложения начинают падать, закрываться, перезапускаться, закрываются проводники.
При этом я заметил, что в диспетчере задач объём "используемой" памяти всегда в норме и намного меньше "выделенной" памяти. Как же так?
Выделенная память не освобождается в достаточном количестве даже если закрыть все приложения. Из этого я сделал вывод, что утечка, вероятно, происходит в самой операционной системе.
Утечка ли это вообще? Как с этим бороться, не выключая компьютер?

6822dc1963814164727228.png
  • Вопрос задан
  • 3096 просмотров
Подписаться 4 Средний 10 комментариев
Решения вопроса 6
@Drno
Винда не предназначена работать без перезагрузки. на серверных версиях такая же проблема бывает.
Надо перезагружать
Если не пользоваться сном и гибернацией, не выключаться ПК - возможно станет чуть получше
Ответ написан
@alzneo
Скорее всего, это замапленные файлы (Mapped files). Когда какое-то приложение открывает файл, то Windows его загружает в ОЗУ. Но когда приложение закрывает файл, то Windows не сразу выгружает его из ОЗУ, а только когда память понадобится другому приложению. Это ускоряет работу, если файл "популярный". Этот же механизм ускоряет повторную загрузку программ.
Возможно, в гибернации есть какой-то плавающий баг (у меня такое тоже было), из-за которого Windows не может выгрузить некоторые замапленные файлы из памяти и она начинает заканчиваться. Если чередовать гибернацию и сон, или полностью перейти на сон, то приложения работают стабильно месяцами.
Если очень хочется почистить память принудительно, то есть утилита RamMap (меню Empty -> Empty Standby List)
Ответ написан
@alexalexes
Выделенная память - это то пространство памяти, с которой ОС успела поработать и как-то проиндексировать ее в течении сеанса работы.
Не обязательно, что ее нельзя использовать повторно.
открытые приложения начинают падать, закрываться, перезапускаться, закрываются проводники

Если вы поставите серверную ОС и забудете про режим гибернации, то приложения будут меньше падать. Потому что перевод в гибернацию никак не может гарантировать работу процессов, которые могли в этот момент использовать ресурсы - диск, сеть, исполнять транзакционные процессы в какую-нибудь СУБД.
Ответ написан
Комментировать
VoidVolker
@VoidVolker Куратор тега Windows
Dark side eye. А у нас печеньки! А у вас?
Запускаете полноценный менеджер процессов Process explorer и смотрите все детали.
Ответ написан
Комментировать
maaGames
@maaGames
Погроммирую программы
скачай и установи вот это приложение (или какое-нибудь аналогичное). Он опредназначено как раз для борьбы с непрошенным кэшированием. Если свободной памяти станвоится меньше заданного объёма, то вызывается очистка кэша. Разумеется это замедлит работу в том случае, если данные из кэша стали бы нужны, а их там нет и опять с диска считывать надо. Ещё можно индексацию диска отключить и прочую ненужную самодеятельность.
https://www.wagnardsoft.com/ISLCw
Ответ написан
Комментировать
Zettabyte
@Zettabyte
Проф. восстановление данных ▪ Вопрос? См. профиль
в диспетчере задач объём "используемой" памяти всегда в норме и намного меньше "выделенной" памяти. Как же так?

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

Только в ней я нашёл колонку Shared commit. По-моему, что-то подобное раньше было в одной из утилит SysInternals, но в настоящее время мне её найти не удалось.

У меня стабильно наблюдается схожая ситуация при использовании Google Chrome, создающего "невидимый своп", который не виден ни из одного другого приложения. Встроенные в ОС утилиты объём свопа для Хром отображают неверно.

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

Отсортируйте свои процессы по этой колонке и посмотрите, что будет у вас.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
не удивительно, остатки запущерих приложений остаются в ОЗУ, и чтобы ее очистить НЕОБХОДИМА перезагрузка ПК. Ты же спишь? Спишь. А это тоже самое. Попробуй не спать хотя бы 2 ночи, как ты себя будешь чувствовать. Да, пк это машина, но перезагрузка ему так же необходима как и тебе сон. Гибернация лишь способ сохранить документы, работу на время обеда. Не более... Я в шоке что такие люди есть...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы