Що таке провідна пам'ять?


55

Я намагаюся розібратися, чим використовується вся пам'ять у моєму Macbook Pro під управлінням OS X Lion. У мене є 8 ГБ пам'яті. Коли я закриваю всі активні програми, крім Finder і Activity Monitor, то запускаю очищення пам'яті (FreeMemory), вона показує близько 5 ГБ вільної пам’яті, 1 ГБ активної пам’яті та 1,5 дротової пам’яті. Документи підтримки кажуть, що "Проводна пам'ять" наповнена матеріалами, які "неможливо перемістити на диск". Що забирає вся ця пам’ять? Це процеси менінбура? У мене в моніторі працює mozy, last.fm, dropbox та бурчання, але всі вони з’являються в Менеджері активностей і, здається, не використовують значну кількість пам'яті. Я також запускаю Parallels, але він повністю вимикається, тому я подумав, що все це має бути записано на диск. Це просто Mac OS X, що використовує зарезервований фрагмент пам'яті та маркує його "провідним"?



Я збираюся тут об'єднати відповіді - це чудова чергова редакція запитання, щоб люди знайшли наше основне запитання про те, що таке провідна пам’ять.
bmike

Відповіді:


46

Як я можу сказати, провідна пам'ять належить до ядра, найпотаємнішого ядра Mac OS X. Це багато шарів, видалених з піктограм у меню, що є просто звичайними програмами, що показують себе дивним чином.

Провідна пам'ять використовується для деяких основних функцій операційної системи - таких як відстеження всіх програм у вашій системі, відкриті файли та мережеві з'єднання, або шматки пам'яті, які використовуються різними драйверами. "Таблиці сторінок", які утворюють карту пам'яті вашої системи, також зберігаються у дротовій пам'яті, а система з більшою кількістю пам'яті потребує більших таблиць сторінок. Я підозрюю, що пам'ять, яка використовується інтегрованими відеочіпами в більшості Mac, також є провідним, але я не можу знайти нічого, що б це сказало прямо. У будь-якому випадку, значна частина цієї інформації потрібна для управління та доступу до пам'яті, і тому вона сама не може бути замінена на диск!

Щоб зрозуміти чому, уявіть собі величезну бібліотеку. Подумайте, наприклад, про бібліотеку Бодлея в Оксфордському університеті, в якій є одинадцять мільйонів друкованих предметів. Ні в якому разі ви не могли б помістити всі ці речі в одну будівлю - звичайно, не одну посеред університетського містечка.

Тож натомість уявіть, що бібліотекарі будують величезний склад. (У справжній бібліотеці Бодлея є близько сорока підбібліотек різних описів, плюс сховище для дійсно рідкісних книг, але це продуманий експеримент.) Більшість книг зберігаються на складі, але все, що було використано недавно, зберігається в бібліотека. Якщо ви з'являєтесь у бібліотеці, шукаєте книгу, і вона стоїть там у стеках, ви можете прочитати її негайно. Якщо ні, попросіть бібліотекаря, і книга, яку ви хочете, буде перевезена зі складу та надана вам наступного дня.

Інформація в дротовій пам’яті буде таким чином, як каталог карт, ключі до вантажівок для доставки книг та карти маршруту до складу. Якщо ви зберігали ці речі на складі, ви ніколи не зможете отримати книги, щоб повернути їх у бібліотеку - тому їх потрібно постійно зберігати в бібліотеці, щоб не зламалася вся система.

Як би там не було, повертаючись до практичних міркувань: дротова пам’ять в основному використовується вашим комп’ютером для внутрішньої бухгалтерії різного роду. Ви не повинні турбуватися про це.

І не хвилюйтеся, якщо у вас є чимало "неактивних" пам'яті і мало "вільної" пам'яті. Неактивна пам’ять - це в основному пам’ять, що Mac OS підтримує щось у вимкненому стані, і знову потрібно; якщо вашій системі потрібна ця пам’ять для чогось іншого, вона буде перетворена у вільну пам'ять без жодного ефекту від продуктивності.

Щоб розширити метафору бібліотеки, уявіть, що бібліотека зберігає книги, які нещодавно використовувались у стеках. Простір є в штабелях; не потрібно залишати його порожнім, тож ви можете також тримати книги, які у вас вже є. У цьому немає ніякої шкоди, і іноді хтось зможе відразу забрати книгу, яку йому інакше довелося б чекати.

Аналогічно, неактивна пам'ять може лише прискорити роботу; це не може нашкодити вашому комп'ютеру, тому не хвилюйтеся, що він занадто високий.

Дійсно, ви не повинні турбуватися про використання своєї пам’яті, якщо провідний + активний не наблизиться до 8 Гб вашого комп’ютера. Ось тоді ви можете потрапити в проблеми, адже саме тоді Mac OS почне витрачати дисковий простір, щоб додати «додаткову» пам’ять, значно погіршивши продуктивність.

В іншому випадку ви також можете щось у цій пам'яті. Зрештою, невикористана пам'ять - це лише витрата сил - якщо у вас є, ви можете також використовувати її для використання.


2
Неактивна пам’ять може прискорити роботу лише тоді, коли набір застосованих програм (а отже, і залишається в неактивній пам'яті) досить постійний і не змінюється в широких межах. Якщо ОС має розблокувати щось, що знаходиться в неактивній пам'яті, щоб запустити новий додаток, це може сповільнити роботу. Це трапляється не часто, але варто згадати.
alesplin

Сказати, що неактивна пам'ять може бути корисною для вас - найбільша брехня світу 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 знаходиться під тиском пам’яті? Якщо це не так, киньте одержимість над Монітором активності і займіться чим-небудь.
Brent Royal-Gordon

Просто додати: я використовую Parallels для своєї віртуальної машини Windows, а її 8 ГБ зарезервованої пам’яті відносять до «дротової пам’яті».
Нуллій

19

Читання використання системної пам'яті в Моніторі діяльності

від support.apple.com дає детальне пояснення щодо різних "типів" ОЗУ.

  • Вільна пам'ять: це оперативна пам’ять, яка не використовується.

  • Провідна пам'ять: Інформацію в цій пам'яті неможливо перемістити на жорсткий диск, тому вона повинна залишатися в оперативній пам'яті. Кількість дротової пам'яті залежить від програм, які ви використовуєте.

  • Активна пам'ять: ця інформація наразі знаходиться в пам'яті, і вона нещодавно використовується.

  • Неактивна пам'ять: Ця інформація в пам'яті активно не використовується, але була нещодавно використана.

  • Використовується: це загальний об'єм використовуваної пам'яті.


7
Ця інформація вище - для "детального пояснення", що таке біологія середньої школи до медичного ступеня. Це нічого не говорить нам про провідну пам'ять ВСЕ.
Хассан Сид

2
developer.apple.com/library/mac/documentation/performance/… спробуйте це для "детальної інформації"
Hassan Syed

6

Mac OS X - це сучасна ОС, тому вона використовує віртуальну пам'ять, щоб відображатись додаткам, що простір пам'яті не є об'єктом. Останні використовувані додатки, як правило, будуть переміщені до оперативної пам’яті, менше використовувані додатки будуть переміщені на жорсткий диск (вкладки та виходи сторінок є ознакою цього руху). ОС не буде використовувати жорсткий диск, поки у нього не буде місця в оперативній пам'яті.

Не існує конкретного додатка, який би "спричинив" накопичення цієї дротової пам'яті. ОС управляє всіма частинами себе та програмами, які ви запустили, щоб найкраще використовувати оперативну пам’ять.

Вихід із невикористаних програм, а ще краще, перезавантаження комп'ютера - це найефективніший спосіб "очищення" пам'яті. FreeMemory робить хорошу роботу, і я здивований, що ОС час від часу не робить такої операції ... Хоча приємно мати статус вільної пам'яті, хоча!


6
Більш конкретно провідна пам'ять - це пам'ять, яку неможливо підключити до сторінки. Будь-яка інша програма має свою пам'ять, розміщену у файлі swap, але провідна пам'ять завжди залишається у реальному режимі. Одні з найпоширеніших користувачів провідної пам’яті - це програми візуалізації (Parallels, VMWare) та операційна система mac os x. Також не хвилюйтесь, якщо у вас мало вільної пам’яті, неактивна пам’ять так само хороша, як і безкоштовна, оскільки її можна перерозподілити в будь-який додаток, який її потребує. Багато сторінок, що знаходяться в та поза, - це хороший знак, що вам потрібно більше оперативної пам’яті
MikelR

Я погоджуюсь, велика кількість сторінок - це ознака недостатнього обсягу оперативної пам’яті. У мене в системі 8 ГБ оперативної пам’яті, і мені часто не вистачає «вільного» простору, запускаються програми Xcode та Adobe ... Я думаю про те, щоб незабаром поставити 16 ГБ, як тільки ціна опуститься нижче 500 $. Я сподіваюся, що цього буде достатньо на деякий час! :-)
Фред

Перехід від MBP з 6 ГБ оперативної пам’яті до MBA з 4 ГБ оперативної пам'яті дав мені зрозуміти, що SSD є набагато кращим оновленням, ніж додаткова ОЗУ. 4 Гб з SSD достатньо для запуску Chrome, Mail, Skype, VMWare Fusion, iTunes, Aperture, Adium, OmniFocus та інших без проблем. Перехід від 4 до 6 ГБ на моєму MBP не змінив величезних змін.
w00t

6

Отримайте остаточний, хоча специфічний для ОС відповідь, з Посібників щодо ефективності використання пам'яті :

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

Проводна пам'ять (її також називають резидентною пам'яттю) зберігає код ядра та структури даних, які ніколи не повинні бути підписані на диск. Програми, рамки та інше програмне забезпечення на рівні користувачів не можуть виділяти дротову пам'ять. Однак вони можуть вплинути на те, наскільки існує провідна пам'ять у будь-який час. Наприклад, додаток, який створює потоки та порти, неявно виділяє провідну пам'ять для необхідних ресурсів ядра, які пов'язані з ними.

У таблиці 2 перераховані деякі витрати на дротову пам'ять для об'єктів, створених додатками

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

Як бачимо, кожен потік, процес і бібліотека сприяють постійному сліду системи. Окрім того, що ваш додаток використовує дротову пам'ять, саме ядро ​​потребує дротової пам'яті для таких об'єктів:

  • ВМ об’єкти
  • кеш-пам'ять віртуальної пам'яті
  • Буфери введення / виводу
  • водіїв

Провідні структури даних також пов'язані з фізичними таблицями сторінок і карт, які використовуються для зберігання інформації відображення віртуальної пам'яті. Обидва ці об'єкти масштабуються з кількістю доступної фізичної пам'яті. Отже, при додаванні пам’яті до системи обсяг дротової пам’яті збільшується, навіть якщо нічого іншого не змінюється. Коли комп'ютер вперше завантажується в Finder, не використовуючи жодного іншого додатку, провідна пам'ять може споживати приблизно 14 мегабайт 64-мегабайтної системи та 17 мегабайт 128-мегабайтної системи.

Сторони дротової пам’яті не одразу повертаються до вільного списку, коли вони стають недійсними. Натомість вони "зібрані сміття", коли кількість безкоштовних сторінок опускається нижче порогу, який ініціює події на сторінці.


4

Є кілька дуже хороших відповідей, і я хотів додати інструмент, яким кожен може скористатися для документування саме того, що використовується дротова пам'ять - настільки конкретна відповідь на відміну від загального пояснення категорій.

У випадку, коли всі програми закриті, а ще є значна кількість дротової пам'яті, ви можете скористатися sysdiagnoseкомандою для зйомки розподілу системної пам'яті, коли вона використовує більше пам'яті, ніж ви очікували.

Потім збережіть / перемістіть файл архіву tar.gz з / var / tmp на робочий стіл, щоб вони не стиралися після перезавантаження.

Потім перезавантажте свій Mac і перед запуском будь-яких додаткових програм повторіть sysdiagnoseкоманду та порівняйте пам’ять до і після, щоб побачити, які процеси займають додаткову провідну пам'ять.



-4

віртуальна пам'ять - це в основному вільний _ _ простір, який використовується як розширення оперативної пам'яті


Віртуальна пам'ять може бути "вільною", оскільки "вартість оплати оперативної пам’яті не впливає" (хоча це щось вносить у вартість, сплачена за зберігання диска) або "вільна", як у "використанні жодної оперативної пам'яті для утримання її вмісту" (не цілком вірно, оскільки для управління потрібна невелика кількість оперативної пам’яті), але оскільки витрати на пам'ять, як правило, розглядаються більше з точки зору впливу на швидкість роботи, а доступ до неї набагато повільніше, ніж доступ до оперативної пам’яті, що навряд чи можна вважається "в основному безкоштовно".
Жора
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.