Что такое проводная память?

55

Я пытаюсь выяснить, что использует всю память в моем Macbook Pro под управлением OS X Lion. У меня всего 8 ГБ памяти. Когда я закрываю все активные программы, кроме Finder и Activity Monitor, затем запускаю очистку памяти (FreeMemory), она показывает около 5 ГБ свободной памяти, 1 ГБ активной памяти и 1,5 проводной памяти. В документах службы поддержки говорится, что в проводной памяти полно материалов, которые «нельзя перенести на диск». Что занимает всю эту память? Это менубарные процессы? У меня есть mozy, last.fm, dropbox и рычание, работающие в строке меню, но все они отображаются в Диспетчере активности и не используют значительный объем памяти. Я также запускаю Parallels, но он полностью закрыт, поэтому я подумал, что все это должно быть записано на диск. Это просто Mac OS X, использующая зарезервированный кусок памяти и помечающий его как «Проводной»?

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

Ответы:

46

Из того, что я могу сказать, проводная память принадлежит ядру, внутреннему ядру Mac OS X. Это много слоев, удаленных из значков в строке меню, которые являются просто обычными приложениями, которые странным образом показывают себя.

Проводная память используется для некоторых основных функций операционной системы - таких как отслеживание всех приложений в вашей системе, или открытие файлов и сетевых подключений, или фрагментов памяти, используемых различными драйверами. «Таблицы страниц», которые формируют карту памяти вашей системы, также хранятся в проводной памяти, и системе с большим объемом памяти требуются таблицы таблиц большего размера. Я подозреваю, что память, используемая встроенными видеочипами в большинстве компьютеров Mac, также имеет проводную связь, но я не могу найти ничего такого, что прямо говорит об этом. В любом случае, большая часть этой информации необходима для управления и доступа к памяти, и поэтому она сама не может быть выгружена на диск!

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

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

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

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

И не беспокойтесь, если у вас много «неактивной» памяти и мало «свободной» памяти. Неактивная память - это, по сути, память, в которой Mac OS хранит что-то на случай, если это понадобится снова; если вашей системе нужна эта память для чего-то другого, она будет преобразована в свободную память без какого-либо снижения производительности.

Чтобы расширить метафору библиотеки, представьте, что в библиотеке хранятся книги, которые недавно использовались в стеках. Пространство там в штабелях; бесполезно оставлять его пустым, так что вы можете хранить книги, которые у вас уже есть. В этом нет никакого вреда, и иногда кто-то сможет сразу же взять книгу, которую ему пришлось бы ждать.

Точно так же неактивная память может только ускорить процесс; это не может повредить ваш компьютер, так что не беспокойтесь о том, что он слишком высокий.

На самом деле, вам не стоит беспокоиться об использовании памяти, если только проводной + активный не начинает приближаться к 8 ГБ на вашем компьютере. В этот момент у вас могут возникнуть проблемы, потому что именно тогда Mac OS начнет использовать дисковое пространство для добавления «дополнительной» памяти, значительно снижая производительность.

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

Брент Роял-Гордон
источник
2
Неактивная память может ускорить процесс только тогда, когда набор используемых приложений (и, следовательно, оставленный в неактивной памяти) довольно постоянен и не сильно различается. Если ОС запускает что-то, находящееся в неактивной памяти, для запуска нового приложения, это может замедлить работу. Это случается не часто, но стоит упомянуть.
Алесплин
Сказать, что неактивная память может быть полезна только вам, - самая большая ложь в мире Mac! На практике компьютеры Apple не могут работать, если у вас мало неактивной памяти. Попробуйте «очистить» эту память, и все ваши программы остановятся, пока неактивная память вернется примерно к 25% от общего объема ОЗУ (протестировано на Mac OS X 10.6 и 10.7). И если то, что вы говорите, верно для проводной памяти, то почему Mac OS X так нуждается в ней? Мой компьютер (4 ГБ) постоянно использует как минимум 800 МБ проводной и 1 ГБ «неактивной» памяти. Ничто не может объяснить это, но плохой дизайн!
PierreBdR
2
Если ваш Mac использует встроенную графику (в отличие от дорогого, энергозатратного дискретного графического чипа), вся память, используемая графической картой, является проводной. Это одно - 384 МБ на моем 13-дюймовом MacBook Air. Контроллеры Thunderbolt также нуждаются в большом количестве проводной памяти, и я не удивлюсь, если буферы жесткого диска тоже сделают это. Пара сотен мегабайт здесь, пара сотен там, скоро вы говорить о реальной памяти. Вопрос в том, находится ли ваш Mac под давлением памяти? Если это не так, прекратите зацикливаться на Activity Monitor и сделайте что-нибудь.
Брент Роял-Гордон
Просто добавлю: я использую Parallels для своей виртуальной машины Windows, и ее зарезервированная память объемом 8 ГБ классифицируется как «проводная память».
Nullius
19

Чтение использования системной памяти в Activity Monitor

из support.apple.com дает подробное объяснение о различных «типах» оперативной памяти.

  • Свободная память: это оперативная память, которая не используется.

  • Проводная память: информация в этой памяти не может быть перемещена на жесткий диск, поэтому она должна оставаться в оперативной памяти. Объем проводной памяти зависит от приложений, которые вы используете.

  • Активная память: эта информация в настоящий момент находится в памяти и недавно использовалась.

  • Неактивная память: эта информация в памяти активно не используется, но недавно использовалась.

  • Использовано: это общий объем используемой памяти.

gentmatt
источник
7
Приведенная выше информация является «подробным объяснением» того, что представляет собой биология в средней школе. Это вообще ничего не говорит о проводной памяти.
Хасан Сайед
2
developer.apple.com/library/mac/documentation/performance/… попробуйте это для «подробной информации»
Хасан Сайед
6

Mac OS X - современная ОС, поэтому она использует виртуальную память, чтобы приложениям казалось, что пространство памяти не является объектом. Большинство недавно использованных приложений будут, как правило, перемещаться в ОЗУ, менее использованные приложения будут перемещаться на жесткий диск (входные и выходные страницы являются признаком этого движения). Операционная система не будет использовать жесткий диск, пока в ОЗУ не останется свободного места.

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

Выход из неиспользуемых приложений или, что еще лучше, перезагрузка компьютера будет наиболее эффективным способом «очистки» памяти. FreeMemory отлично справляется со своей задачей, и я удивлен, что ОС время от времени не выполняет такую ​​операцию ... хотя приятно иметь статус свободной памяти!

Фред
источник
6
Более конкретно, проводная память - это память, которая не может быть выгружена. Любое другое приложение имеет свою память, помещенную в файл подкачки, но проводная память всегда остается в реальном памяти. Некоторыми из наиболее распространенных пользователей проводной памяти являются приложения для визуализации (Parallels, VMWare) и операционная система Mac OS X. Также не беспокойтесь, если у вас мало свободной памяти, неактивная память так же хороша, как и свободная, потому что она может быть перераспределена для любого приложения, которому это нужно. Много страниц в и из - это хороший знак того, что вам нужно больше оперативной
памяти,
Я согласен, много входов и выходов страницы является признаком нехватки оперативной памяти. У меня в системе 8 ГБ оперативной памяти, и мне часто не хватает «свободного» пространства, я запускаю приложения Xcode и Adobe… Я думаю о том, чтобы в скором времени поставить 16 ГБ, как только цена опустится ниже 500 $. Надеюсь, этого хватит на некоторое время! :-)
Фред
Переключение с MBP с 6 ГБ оперативной памяти на MBA с 4 ГБ оперативной памяти позволило мне понять, что твердотельные накопители намного лучше, чем дополнительная оперативная память. 4 ГБ с SSD достаточно для запуска Chrome, Mail, Skype, VMWare Fusion, iTunes, Aperture, Adium, OmniFocus и других устройств одновременно без сбоев. Переход с 4 до 6 ГБ на моем MBP не имел огромной разницы.
w00t
6

Для окончательного, хотя и специфичного для ОС ответа, из Руководства по производительности использования памяти :

Проводная память

Проводная память (также называемая резидентной памятью) хранит код ядра и структуры данных, которые никогда не должны выгружаться на диск. Приложения, платформы и другое программное обеспечение уровня пользователя не могут выделять проводную память. Тем не менее, они могут повлиять на то, сколько проводной памяти существует в любое время. Например, приложение, которое создает потоки и порты, неявно выделяет проводную память для необходимых ресурсов ядра, которые связаны с ними.

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

Проводная память, генерируемая программным обеспечением на уровне пользователя

Как вы можете видеть, каждый поток, процесс и библиотека вносят свой вклад в резидентный след системы. В дополнение к вашему приложению, использующему проводную память, ядро ​​само требует проводной памяти для следующих объектов:

  • Объекты VM
  • буферный кеш виртуальной памяти
  • Буферы ввода / вывода
  • водители

Проводные структуры данных также связаны с физическими страницами и таблицами сопоставления, используемыми для хранения информации отображения виртуальной памяти. Оба эти объекта масштабируются в зависимости от объема доступной физической памяти. Следовательно, когда вы добавляете память в систему, объем проводной памяти увеличивается, даже если ничего не меняется. При первой загрузке компьютера в Finder без запуска других приложений проводная память может занимать приблизительно 14 мегабайт в системе 64 мегабайта и 17 мегабайт в системе 128 мегабайт.

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

Greenonline
источник
4

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

В случае, когда все Приложения закрыты, и все еще имеется значительный объем проводной памяти, вы можете использовать sysdiagnoseкоманду для захвата выделения системной памяти, когда она использует больше памяти, чем вы ожидаете.

Затем сохраните / переместите архив результатов tar.gz из / var / tmp на рабочий стол, чтобы они не стирались при перезагрузке.

Затем перезагрузите Mac и, прежде чем запускать дополнительные программы, повторите sysdiagnoseкоманду и сравните память до и после, чтобы увидеть, какие процессы занимают дополнительную проводную память.

bmike
источник
2

«О, да, и проводная память оказывается памятью», используемой ОС [которая] в значительной степени неприкасаема. Другое приложение не может «заимствовать» проводную память ».

из Туава http://www.tuaw.com/2007/03/06/just-what-is-wired-memory-anyway/

револьвер
источник
-4

виртуальная память в основном свободна _ _ пространство используется как расширение оперативной памяти

Arman
источник
Виртуальная память может быть «свободной», так как «стоимость, заплаченная за ОЗУ, не затронута» (хотя она вносит некоторый вклад в стоимость, заплаченную за дисковое хранилище) или «свободная», как в «использовании ОЗУ для хранения ее содержимого» (не Совершенно верно, поскольку для его управления требуется небольшой объем оперативной памяти), но поскольку стоимость памяти обычно считается более высокой с точки зрения ее влияния на скорость работы, и доступ к ней происходит гораздо медленнее, чем доступ к оперативной памяти, что вряд ли считается "в основном свободным".
Жора