Як боротися з витоком пам’яті у віртуальній машині, правильно закриваючи браузер
Універсальної поради щодо збереження оптимального балансу між гостьовою та хостовою пам'яттю, на жаль, немає. Просто тому, що у людей занадто різні сценарії використання та комбінації програм, що працюють в даний момент. Наприклад, хтось у віртуальній машині хоче запустити 3D-гру, в мінімальних вимогах якої вказано 2 Гб оперативної пам'яті, при цьому на хості в цей момент йому не потрібно нічого, окрім рішення Parallels Desktop. А хтось, навпаки, працює одночасно з браузером і декількома різними типами документів на хостовій ОС, а віртуальна машина з Windows йому потрібна тільки для невеликого додатка, аналога якого не існує під Mac. Очевидно, що в першому випадку людині потрібно дозволити віртуальній машині використовувати більше хостової пам'яті (не виходячи при цьому за рамки рекомендованого максимуму, звичайно ж), а в другому випадку, навпаки, краще обмежити пам'ять гостьової ОС до мінімуму. (У Parallels Desktop це можна зробити у верхньому менюVirtual Machine, потімConfigure, потімGeneral. Але спочатку потрібно вимкнути віртуальну машину).
Головне пам'ятати, що фізична пам'ять не є нескінченною. Якщо у людини є необхідність у постійному використанні важких хостових і гостьових додатків одночасно, і вона постійно стикається з гальмами, їй варто задуматися про те, щоб додати до свого Мака ще пару гігабайт оперативної пам'яті. Але основна причина нестачі пам'яті у деяких користувачів все-таки полягає в тому, що вони забувають (або не бачать необхідності) закривати програми, які їм більше не потрібні, а згортають або залишають їх вікна висіти на задньому плані. Особливо це стосується користувачів ноутбуків, наявність акумулятора в яких дозволяє не вимикати хост міжвикористанням. Такі програми продовжують займати пам'ять. А якщо в них при цьому ще й відбуваються так звані витоки пам'яті (memory leaks), то це ще гірше позначається на загальну швидкість роботи системи.
Витоку, крім ресурсомістких додатків, провокують також деякі антивіруси, і розширення різного стороннього софту для браузерів. Але, як з'ясувалося, найбільше нарікань викликає Adobe Flash. Саме ця технологія неконтрольовано та хаотично пожирає пам'ять і при цьому назад її не звільняє. Ми навіть підрахували: у 99% випадків, коли користувачі Parallels Desktop скаржилися на зависання, був винен саме флеш, а не віртуальна машина.
Чому так відбувається? Серфити по Інтернету люблять усі, багато хто присвячує цій справі кілька годин на день. А в Інтернеті дуже багато сайтів із банерами, які працюють на флеші (або навіть є веб-ресурси цілком на флеші, наприклад, флешові ігри чи сайти-візитки особливо креативних фірм). Людина запускає на своєму Mac браузер (Safari) і починає серфінг, відкриваючи один сайт за іншим у різних вкладках (а багато хто любить це число доводити мало не до п'ятдесяти).
До речі, цього літа в техблозі Gizmodo поставили експеримент, щоб перевірити, скільки споживає кожна відкрита вкладка (як у Safari, так і в інших браузерах), і з'ясували, що це 0,19 Ватт. А відкриття 100 вкладок навіть без будь-якого флешу взагалі знижує час автономної роботи більш ніж на годину.

Під браузер виділяється певна кількість пам'яті операційної системи. Якщо довго серфить, то кеш, природно, переповнюється, і дані скидаються на жорсткий диск у Swap-файл (файл підкачування). А тепер сюрприз: якщо браузер тільки згортати (а не закривати його повністю) та залишити його «висіти» там достатньодовго (наприклад, весь робочий тиждень), то в ньому накопичиться величезна кількість даних.
У випадку з Flash такі витоки пам'яті відбуваються дуже повільно і для користувача майже не помітно. У результаті кілька днів накопичується загалом 3-4 гіга. Частина даних Mac OS на цей момент вже відправила у свій swap-файл. Проблеми починаються якраз при старті віртуальної машини: MacOS змушена шукати під новий процес одразу багато пам'яті. Це веде до того, що вона вивалює величезний масив даних із кешу в своп – намагається звільнити пам'ять під запуск засобу віртуалізації та гостьової ОС. У цей момент віртуальна машина намагається вважати дані, необхідні для їхнього старту. Все разом призводить до зростання кількості випадкових звернень до диска, і система починає "гальмувати".
Тому дивіться на параметр Swap used у Activity Monitor. Якщо кількість даних там поступово зростає і стала явно більшою за 1 Гб, то ймовірно, що якась програма не відпускає свою пам'ять.

І що ж робити? А профілактика цієї проблеми дуже проста - періодично потрібно закривати браузер цілком, використовуючи Cmd+Q (а не просто закривати віконце, клікнувши по червоному стоп-сигналу в лівому верхньому кутку).
По-друге, добре видалити різні браузерні розширення, які також викликають витоку (наприклад, антивірусів або Skype). У Safari це робиться вікні налаштування (Safari – Preferences – Extensions), там можна як деінсталювати розширення, так і взагалі заборонити встановлення будь-яких add-ons. Тільки видалити мало – треба ще перевірити у папці
/Library/Safari/Extensions, чи не відсталося від них зайвого.