Чому ви не повинні вимкнути віртуальну пам'ять на вашому Mac
Ваш Mac поставляється з певною кількістю фізичних додатків пам'яті, які можна використовувати. Ваші запущені програми, відкриті файли та інші дані, з якими Mac активно працює, зберігаються в цій фізичній пам'яті. Але це спрощення - додатки також можуть використовувати «віртуальну пам'ять», яку ваш Mac може стискати і тимчасово зберігати на диску.
Немає офіційного способу відключити віртуальну пам'ять на сучасному Mac, хоча це було можливо за декілька днів до виходу Mac OS X, який тепер називався macOS. Хоча можна зламати вашу систему, щоб запобігти тому, щоб ваш Mac зберігав віртуальну пам'ять на диску, це не слід робити.
Що таке віртуальна пам'ять?
Незважаючи на те, що ваш Mac має обмежену кількість фізичної пам'яті, він надає більшій площі доступної віртуальної пам'яті запущеним програмам. Наприклад, навіть якщо у вас є Mac з 8 Гб оперативної пам'яті, кожен 32-бітний процес на вашому Mac дає 4 ГБ доступного адресного простору, який він може використовувати. Кожному 64-бітному процесу надається близько 18 екзабайт - це 18 мільярдів гігабайт простору, з яким він може працювати.
Програми можуть вільно використовувати стільки пам'яті, скільки вони хочуть, у межах цих обмежень. Коли ваша фізична пам'ять заповнюється, macOS автоматично "виписує" дані, які не використовуються активно, зберігаючи їх на внутрішньому диску Mac. Коли дані знову потрібні, вони передаються назад в оперативну пам'ять. Це повільніше, ніж просто зберігати дані в оперативній пам'яті весь час, але це дозволяє системі прозоро просто «продовжувати працювати». Якщо комп'ютери Mac не можуть зберігати дані віртуальної пам'яті на диску, ви побачите повідомлення з проханням закрити програму для продовження.
Це в основному те ж саме, що і файл сторінки в Windows, і простір підкачки на Linux та інших UNIX-подібних операційних системах. Насправді, macOS - це сама UNIX-подібна операційна система.
Сучасні версії macOS фактично переживають ще більше неприємностей, щоб уникнути виклику даних на диск, стискаючи дані, що зберігаються в пам'яті, наскільки це можливо, перед тим, як вивести їх на сторінку.
Де збережено?
Дані віртуальної пам'яті зберігаються в / private / var / vm
директорії на внутрішній пам’яті Mac, якщо вона була вивантажена на диск. Дані зберігаються в одному або декількох файлах з назвою «swapfile» і закінчуються номером.
Більшість операційних систем, подібних до UNIX, використовують окремий розділ для файлу підкачки, що постійно виділяє частину вашого сховища для місця підкачки. MacOS від Apple не робить цього. Замість цього він зберігає файли swapfile на системному диску. Якщо програми не потребують додаткової віртуальної пам'яті, то ці файли не будуть використовувати багато місця. Якщо програми потребують більшої віртуальної пам'яті, ці файли будуть збільшуватися в міру необхідності, а потім зменшуватись, коли вони більше не потребуватимуть великих розмірів.
Цей каталог також містить файл "sleepimage", який зберігає вміст оперативної пам'яті вашого комп'ютера на диску, коли він переходить у сплячий режим. Це дозволяє Mac зберегти свій стан, включаючи всі ваші відкриті програми і файли, при вимиканні і не використовуючи будь-які живлення.
Щоб переглянути вміст цього каталогу та подивитися, скільки простору ці файли наразі використовуються на диску, можна відкрити вікно Терміналу і запустити наступну команду. (Щоб відкрити вікно Терміналу, натисніть Command + Space, щоб відкрити пошук у Spotlight, введіть "Terminal" і натисніть Enter.)
ls -lh / private / var / vm
На скріншоті нижче ми бачимо, що кожен з цих файлів розміром 1 Гб на моєму Mac.
Чому ви не повинні вимикати віртуальну пам'ять
Ви дійсно не повинні намагатися вимкнути цю функцію. Операційна система MacOS і запущені програми очікують, що вона буде активована. Фактично, офіційна документація Apple говорить: “Обидва OS X і iOS включають повністю інтегровану систему віртуальної пам'яті, яку ви не можете вимкнути; воно завжди включено. "
Втім, це так технічно Можливо відключити резервну копію магазину - тобто, ті swapfiles на диску на MacOS. Це передбачає відключення захисту системної цілісності перед тим, як повідомляти Mac про те, щоб не запускати динамік системи dynamic_pager, а потім видаляти файли підкачки. Ми не надамо відповідні команди для цього, оскільки ми не рекомендуємо це робити.
Операційна система macOS і запущені в ній програми очікують належну роботу віртуальної системи пам'яті. Якщо ваша фізична пам'ять заповнюється, а операційна система Mac не може переносити дані на диск, станеться одне з двох поганих речей: або ви побачите сповіщення, яке повідомлятиме вам про закриття однієї або декількох програм, щоб припинити роботу, або програми припинять роботу. і ви можете відчути загальну нестабільність системи.
Так, навіть якщо у вас є 16 ГБ або більше ОЗУ, це іноді може бути заповнене, особливо якщо ви запускаєте вимогливі професійні програми, такі як відео, аудіо або графічні редактори, які повинні зберігати багато даних в пам'яті. Облиш це.
Не турбуйтеся про дисковий простір або ваш SSD
Існує дві причини, чому люди, можливо, захочуть вимкнути функцію віртуальної пам'яті та видалити файли swapfile з диска.
По-перше, ви можете бути стурбовані використанням дискового простору. Ви можете позбутися цих файлів, щоб звільнити місце. Ну, ми б не хвилювалися про це. Ці файли не витрачають великого обсягу місця на диску. Якщо ваш Mac не потребує багато віртуальної пам'яті, вони будуть маленькими. На нашому MacBook Air з 4 Гб оперативної пам'яті ми помітили файл swapfile, який використовував близько 1 ГБ простору..
Якщо вони використовують багато місця, це тому, що програми, які ви відкрили, потребують цього. Спробуйте закрити вимогливі програми - або навіть перезавантажити - і файли swapfile повинні скоротитися і припинити використання простору. Ваш Mac тільки використовує дисковий простір, коли це необхідно, так що ви нічого не втрачаєте.
Якщо файли віртуальної пам'яті завжди дуже великі, це знак, що вам потрібно більше оперативної пам'яті у вашому Mac, а не для того, щоб вимкнути функцію віртуальної пам'яті. (Ви можете побачити, скільки фізичної пам'яті має ваш Mac, натиснувши меню Apple> Про цей Mac і прочитавши, що він говорить поруч з "Пам'ять".)
Іншою проблемою є знос внутрішнього твердотільного накопичувача Mac. Багато людей стурбовані тим, що надмірне записування на твердотільний накопичувач може скоротити термін його служби і викликати проблеми. Це справедливо в теорії, але на практиці це занепокоєння, як правило, перебільшено, і залишилося від тих часів, коли SSD-системи мали набагато менше довговічності. Сучасні твердотільні накопичувачі повинні тривати довгий час, навіть якщо такі функції включені. macOS не буде швидко зношувати ваш SSD тільки тому, що ви залишите функцію системи за замовчуванням включеною - насправді, щось ще на вашому Mac, ймовірно, помре перед вашим SSD.
Іншими словами, не хвилюйтеся про це. Залиште віртуальну пам'ять і дозвольте вашому Mac працювати так, як він призначений.