«Ваша система исчерпала память приложения». Как это возможно?

20

macOS регулярно открывает диалоговое окно «Принудительное завершение работы приложений»:

Ваша система исчерпала память приложения.

Ваша система исчерпала память приложения.

Чтобы избежать проблем с вашим компьютером, закройте все приложения, которые вы не используете.

Как это возможно, если есть только несколько открытых приложений?

alessandro308
источник
Связанный: apple.stackexchange.com/questions/178281/…
nohillside
2
Я недавно видел эту проблему почти со всей свободной системной памятью. Проблема была в неисправной программе, которая выделяла, но никогда не освобождала память GPU. Так как все отображение на экране происходит через графический процессор, использования всей его памяти достаточно, чтобы вызвать законную ошибку нехватки памяти, даже когда доступно много системной памяти.
Джош Сэнфорд
На скриншоте отсутствует информация о том, сколько вкладок открыто в Safari & Chrome. Монитор активности может показать, что Safari содержит 30 отдельных процессов, а Chrome - еще 10.
Демис
Я не помню в тот день, сколько вкладок я открыл. Обычно у меня не более 5 вкладок, открытых в Safari, и 0 в Chrome, используемых только для некоторых развивающих тестов
alessandro308

Ответы:

10

По моему опыту, это происходит, когда на жестком диске моего основного компьютера заканчивается свободное место. Операционные системы используют жесткий диск для дополнительной памяти, называемой «виртуальной памятью». (Я определенно всегда хотел, чтобы ОС могла просто зарезервировать достаточно места для себя, но она просто не может предсказать, сколько приложений мы будем запускать).

Вдобавок ко всему, стоит отметить, что регулярное использование сети сейчас требует гораздо больше памяти, чем в прошлом. В мониторе активности вы заметите, что каждая отдельная вкладка и окно (каждая открытая веб-страница) - это отдельный процесс, занимающий значительную часть памяти. Кроме того, учтите все объявления, фильмы, flash, сценарии, плагины и 360 видео и т. Д., Которые мы ожидаем, что будут работать гладко. Новые ОС и новые веб-страницы просто используют много памяти для предоставления нам услуг, которые мы ожидаем «просто работать» (например, синхронизация между устройствами, уведомления, автоматическое обновление и т. Д. И т. Д.).

Короче говоря, по моему опыту, обычно не существует ни одного процесса, который внезапно занимал бы огромное количество памяти (хотя программа с утечками действительно могла быть виновником - Sketchup 2016, например, делает это со мной). Чаще всего это дополнительная функциональность, которую мы ожидаем от многих программ / веб-плагинов.

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

Два решения, которые работают для меня:

1) Открывайте меньше вкладок / страниц и меньше программ одновременно. Закройте некоторые веб-страницы / программы, прежде чем открывать здоровенные приложения, такие как MS Office, Parallels, 3D CAD, программы Adobe и т. Д.

2) Освободите больше места на системном жестком диске (например, перенесите всю свою музыку и фотографии на другой диск), чтобы система могла обрабатывать ваши типичные потребности в виртуальной памяти. Для меня это означает, что моему диску объемом 1 ТБ требуется> 20% свободного места (200 ГБ)! Ваши требования могут отличаться. Если вы используете старый ноутбук Apple, iMac или Mini, OWC Data-Doubler - действительно фантастический способ сделать это.

Метод (1) - это мое временное исправление, так что когда я в конце концов приму метод (2), я восстановлю быстроту, ожидаемую при одновременном запуске большого количества тяжелых программ.

Demis
источник
Например, Google Chrome является одним из ваших открытых приложений, и у вас может быть открыто 30 вкладок / страниц в Chrome, каждая из которых занимает огромный объем памяти. На моем компьютере одна вкладка GMail занимает 4 гигабайта памяти (и у меня 3 из них открыты для учетных записей varius)!
Демис
5

Может быть, утечка памяти в приложении Google Chrome, так как у меня была такая же проблема. Запустите диспетчер задач (в меню « Дополнительные инструменты» или перейдите в chrome: // system /), проверьте память, используемую открытыми вкладками, и уничтожьте их. Если это не поможет, принудительное завершение работы уязвимого приложения должно решить проблему.

В качестве альтернативы проверьте давление в памяти ( memory_pressureкоманду) и дважды проверьте свободное место, чтобы было достаточно места для файлов подкачки. Также попробуйте запустить sudo purgeиз терминала.

kenorb
источник
4

Возможно, существует какой-то странный запрос памяти, который система виртуальной памяти не может выполнить. Лучше всего перезагрузить Mac, а затем запустить Activity Monitor, чтобы показать давление памяти, а затем наблюдать за этими деталями памяти, когда / если вы снова достигнете этого состояния памяти.

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

bmike
источник
3

Скорее всего, это проблема самой ОС. Я только что получил это сообщение, когда у меня было открыто всего несколько программ, а нагрузка на память в Activity Monitor была «зеленой», но время работы у меня составляло 106 дней. Как все знают - ни один компьютер / операционная система не может работать вечно без перезагрузки, хотя 106 дней не слишком много, если сравнивать с мейнфреймами, но для персональной системы это довольно хорошо (хотя время работы моего второго Mac составляет 168 дней, как мы говорим - без признаков исчерпания памяти). Перезагрузка, вероятно, лучшее предложение, пока Apple не исправит это.

децибел
источник
Почему кто-то отклонил мой комментарий выше?
ДБ
На самом деле, я обнаружил, что при наличии достаточного свободного места на диске мне не нужно выключаться практически никогда. Самое длительное, что я пропустил, было не менее 6 месяцев (до обновления системы) - кажется, ОС действительно хороша для очистки памяти и поддержания стабильности. Но даже тогда перезапуск не оказал заметного влияния на производительность системы.
Демис
3

Та же самая проблема произошла со мной пару дней назад.

Я следую этим инструкциям для сброса NVRAM и PRAM моего Mac. Потребление памяти уменьшилось с 4,5 ГБ до 2,8 ГБ при запуске.

  1. Выключи свой Mac.

  2. Снова включите его и нажмите и удерживайте Command+ Option+ P+ R(все одновременно) до появления серого экрана.

  3. Удерживайте клавиши, пока не услышите, что ваш Mac запускается во второй раз (пусть он подаст два звуковых сигнала).

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

Роки Ян
источник
Я скептически отнесся к этому комментарию. Я имею в виду, почему бы не перезагрузить оперативную память при выключении? Нет власти, нет барана, верно? А зачем вам нужно нажимать замысловатые комбинации кнопок. Но быстрый поиск в Google показывает, что этот метод подтвержден Apple support.apple.com/en-us/HT204063 . Содержимое этой страницы в основном совпадает с ответом, хотя и предполагает, что у Mac будет либо PRAM (более старые macs), либо NVRAM (более новые macs).
Фредерикф
Сброс NVRAM / PRAM - это не то, что сработало, перезагрузка - это то, что сработало.
MikeP
2

Если вы видите это сообщение, но перечисленные приложения, по-видимому, не объясняют предполагаемое чрезмерное потребление памяти, проверьте, могут ли процессы, не относящиеся к приложениям, быть позади него. Они будут перечислены на вкладке «Память» в Activity Monitor, но не будут отображаться в этом диалоговом окне.

Это диалоговое окно не давало мне покоя: ни перечисленные приложения, ни свободное место на диске не объясняли предполагаемую проблему. Оказывается, у меня было несколько процессов UNIX, использующих необычно большие объемы памяти. Суммы, которые они использовали, по-прежнему не объясняют претензию диалога, а нагрузка на память все еще оставалась зеленой, но как только я их вышел (даже не пришлось принудительно выходить), диалоги прекратились и с тех пор не возвращались. ,

ПРЕДУПРЕЖДЕНИЕ. Хорошей идеей будет провести небольшое онлайн-исследование того, что представляют собой неизвестные процессы, и выполнить их перед тем, как принудительно прекратить их, поскольку некоторые из них могут иметь серьезные негативные последствия для системы в случае их смерти. В зависимости от процесса может быть предпочтительнее перезапустить систему либо вместо, либо сразу после принудительного ее выхода.

Терри Н
источник
1

Это сообщение об ошибке может быть вызвано несколькими причинами, потому что я получаю сообщение об ошибке регулярно, и на SSD на 500 ГБ свободно 300 ГБ. 32 ГБ ОЗУ, и сообщение выскочило с использованием только около 24 ГБ физической ОЗУ.

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

Кроме того, Safari слишком часто выдает мне вариант «принудительной перезагрузки», потому что веб-страницы перестали отвечать. Это просто не готово к прайм-тайм. Кто-то должен смягчить извержение бозо в команде Safari ...

rGiskard
источник
Я сомневаюсь, что это потому, что Safari плохо управляет своей памятью (если только вы не обнаружите, что Chrome намного лучше справляется с той же хренью). Если вы посмотрите на Activity Monitor, то увидите, что каждой веб-странице требуется много памяти, особенно если они являются веб-приложениями (такими как Gmail - 4 Гб памяти для меня) или имеют рекламу в формате flash / кино (например, каждую). блог / новостной сайт).
Демис