Почему мой MacBook Pro уже использует память подкачки?

21

У меня в конце 2013 года MacBook Pro 13 "с 8 ГБ памяти. В последнее время мой MacBook Pro использует память подкачки, когда на ней достаточно свободной памяти. Это нормально, и я могу что-то с этим сделать? Также, когда у меня только сафари и, скажем, Xcode open использует 99% оперативной памяти. Это нормальное поведение?

введите описание изображения здесь

Bas
источник
@ Марк, я собираюсь оставить это открытым - другой вопрос не фокусируется на обмене как симптоме. Я думаю, что это немного отличается, чтобы оправдать некоторые дополнительные ответы, которые могут не вписаться в связанный вопрос.
bmike

Ответы:

18

Это нормальное поведение. Вы не испытываете никаких проблем с памятью на скриншоте выше. Я подозреваю, что происходит то, что OS X создает своего рода заполнитель для включения подкачки памяти, вместо того, чтобы фактически использовать здесь подкачку памяти. Я никогда не видел ноль в разделе подкачки памяти, если только я не перезапустил и не открыл окно Activity Monitor заново, и даже тогда я редко вижу ноль.

С Mavericks и Yosemite способ использования памяти немного изменился. По сути, ОС забирает всю память, а затем управляет ею по мере необходимости. Таким образом, наш традиционный взгляд на отчет о памяти в Activity Monitor не совсем корректен. В связи с этим Mavericks добавил датчик «Memory Pressure», чтобы дать вам представление о том, когда у вас есть ограничение, вызванное памятью. На скриншоте у вас зеленое давление памяти. Для получения дополнительной информации см. Этот ответ .

У Ars Technica есть хорошее описание этого «сжатия памяти» в обзоре Mavericks:

http://arstechnica.com/apple/2013/10/os-x-10-9/17/

cmason
источник
Хорошо сказано. Своп на 256 КБ является ошибкой округления и может даже быть заполнителем, чтобы гарантировать, что файл подкачки существует и открыт. Если в системе не хватит файловых дескрипторов или ресурсов, а затем этот файл будет создан и открыт, это может обеспечить большую стабильность и восстановление после крайних случаев.
bmike
2

Согласно тому, что я могу понять из вашего скриншота (я не знаю вашего языка), вы используете только 256 КБ пространства подкачки, что является ничем. Я не буду беспокоиться, если ваше давление памяти не повысилось

Бретиле
источник
Сейчас он действительно 256 КБ, но иногда он использует 120 МБ или больше, если есть какая-то свободная память.
Бас
Я бы сказал, что это нормально, мой Mac работает уже почти 6 дней, и у меня используется ~ 200 МБ подкачки с установленной 16 ГБ ОЗУ и 24% нагрузки на память (зеленый)
Brethil
@Bas Задать вопрос по вопросу, когда вы обнаружите, что своп растет. Вы можете запустить vm_stat 60или даже 300для интервала, а затем посмотреть, как выглядит пейджинг, и загрузить вторую снимок монитора активности, показывающий случай пейджинга.
Bmike
0

Вам нужно будет отслеживать использование памяти и подкачки, поскольку файл подкачки был создан, чтобы иметь возможность понять, почему был создан подкачка. Исходя из того, что вы описываете в тексте и на снимке экрана, я не вижу ничего, что касается.

Относительно того, почему swap был создан, когда вы предполагаете, что у вас есть свободная RAM. ОС может перейти к обмену на основе прогнозных мер. Например, может быть, вы запустили Photoshop, который автоматически открывал несколько больших файлов изображений с предыдущего сеанса. Операционная система могла видеть, что внезапно возникла огромная потребность в оперативной памяти, и перенесла некоторое количество неиспользуемого содержимого оперативной памяти на более позднюю, чем ожидалось.

Или ваша программа резервного копирования на короткое время работала в фоновом режиме, выполнила огромное количество контрольных сумм и сравнений файлов и создала большие структуры данных на основе ОЗУ, выталкивая другой контент для обмена. Затем программа резервного копирования освободила ОЗУ и вернулась в режим сна.

Mac OS X (и большинство современных ОС: Windows, Linux и т. Д.) Очень хорошо разбираются в автоматическом использовании Cache, Swap, сжатия памяти и других методов, чтобы система работала максимально быстро. Я действительно не буду беспокоиться об этом, если вы не увидите, что монитор активности сообщает о том, что давление памяти находится в желтой или красной зоне.

В настоящее время у меня есть 13-дюймовый MacBook Pro 2010 года с 16 ГБ ОЗУ. Я выполняю большую работу, требующую большого объема оперативной памяти. попал в желтую зону из-за нехватки памяти, но я должен сказать, что это редко проблема, потому что Mac OS X очень хорошо распределяет ресурсы по мере необходимости.

Хотя для своей работы мне требуется 16 ГБ ОЗУ, вы должны знать, что такое обновление не обходится без негативов. Дополнительная оперативная память значительно сокращает срок службы батареи как при активном использовании, так и во сне.

Ли Жорамо
источник
-1

Ваш Mac работает на Unix (сертифицированная Single Unix Specification 2003), и эта ОС существует уже более 40 лет. Основные компоненты (например, управление памятью) написаны, обновлены, отлажены и отлажены людьми, которые являются экспертами в этой области. Apple, имеющая больше наличных денег, чем казначейство США, может позволить себе нанимать лучших.

Итак, если у вас есть хотя бы докторская степень в области теоретических компьютерных наук и вы написали диссертацию по управлению процессами и памятью на уровне ядра, не беспокойтесь об управлении памятью. У меня на рабочем столе 24 Гб, и он все еще использует своп. Меня это совсем не касается.

Павел
источник
3
Вы правы, но это не отвечает на мой вопрос. Я не говорю, что люди, создавшие ОС, не знают, что делают. Мой вопрос был, было ли это нормальным поведением, и мне интересно, почему он это делает. Потому что для меня не имеет смысла использовать SWAP, если еще есть какая-то память ..
Bas
Я хочу сказать, что все, что происходит под капотом, нормально. Если ваш диск не заполнен из-за абсолютно ошеломляющих объемов подкачки, вы должны рассмотреть причину, потому что менеджер памяти решил, что это необходимо.
Пол
1
Это почти полностью ложно. В macOS нет оригинального кода Unix, он использует некоторые части * BSD и Mach и может быть сертифицирован POSIX. Управление страницей виртуальной машины, однако, почти полностью соответствует коду Apple, и они добавили много нестабильности в последних выпусках, изменив его, например, добавив vm_compression. Также теоретическая информатика не занимается этими очень практическими вопросами. Они отстой в разработке ОС в последнее время.
sleeplessnerd
Смешной ответ. Я уверен, что у них есть эксперты, создающие весь продукт, но ошибки случаются, и они часто ошибаются.
chrismacp