Що я можу видалити з / private / var / vm?


80

Що це за папка? Це величезна кількість, і я можу використовувати додаткове приміщення. Я читав сонник не потрібно - це правда? Чи повинен я просто розібратися з цим? Чи папка "приватне" спорожняється автоматично, чи мені доведеться це робити вручну? Якщо це не корисно (або потрібно), чи є спосіб запобігти його появі в майбутньому?

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


1
Вас все ще цікавить питання щодо запобігання? Це може бути краще запитати окремо, коли ви отримаєте відповідь на основні аспекти вашого запиту.
bmike

Схоже, Лрі висвітлював це внизу, але дякую за підказку
Вовк

Відповіді:


79

/var/vm/sleepimageвикористовується для зберігання вмісту оперативної пам’яті під час сплячки , а також гібридного сну та режиму сну, який ноутбуки Mac використовують за замовчуванням. Якщо у вас є 8 Гб оперативної пам’яті, /var/vm/sleepimageзаймає близько 8 ГіБ дискового простору. Я не знаю, чому його не видаляють після пробудження зі сну. Можливо, слід забезпечити достатню кількість вільного місця на диску або для того, щоб він не зберігався на непоміжних блоках, якщо місця на диску мало.

Можна /var/vm/sleepimageбезпечно видалити , але воно буде відтворено, коли ви переведете Mac у режим сну. Якщо ви запустите sudo pmset -a hibernatemode 0; sudo rm /var/vm/sleepimage, Mac використовуватиме звичайний режим сну (наприклад, за замовчуванням Macs для комп’ютерів), і він не буде відтворений /var/vm/sleepimage.

Від man pmset:

hibernatemode = 0 (двійковий 0000) за замовчуванням на підтримуваних робочих столах. Система не створить резервну копію пам’яті до постійного зберігання. Система повинна прокинутися від вмісту пам'яті; система втратить контекст при втраті електроенергії. Це, історично, звичайний старий сон.

hibernatemode = 3 (двійковий 0011) за замовчуванням на підтримуваних портативних портах. Система зберігатиме копію пам’яті на постійному сховищі (диск) та живить пам’ять під час сну. Система прокинеться з пам'яті, якщо лише втрата живлення не змусить її відновити зображення з диска.

hibernatemode = 25 (двійковий 0001 1001) встановлюється лише через pmset. Система зберігатиме копію пам’яті на постійному сховищі (диск) і відключає живлення в пам'ять. Система відновиться з образу диска. Якщо ви хочете "сплячки" - повільніший сон, повільніші пробудження та кращий ресурс акумулятора, слід скористатися цим налаштуванням.

  • 0 (традиційний режим сну) дозволяє швидко прокидатися і спати, економить простір на диску та зменшує запис на накопичувач.
  • 3 (гібридна сплячка та безпечний режим сну) дозволяє швидко прокинутися і спати, а також дозволяє відновити стан після втрати електроенергії.
  • 25 (сплячка) економить енергію та дає змогу відновити стан після втрати електроенергії.

Я використовував hibernatemode 0 зі своїм MacBook Air. Навіть якщо MacBook Air заснув, коли акумулятор майже порожній, акумулятор зазвичай не виснажувався повністю під час сну. /var/vm/sleepimageзайняли близько 4 Гб дискового простору, і записування його в сотні або тисячі разів може скоротити термін служби SSD.


23

Доповнення: Те, що сказав Ден Барретт про відновлення сновидіння, є правдою. Однак є спосіб її обійти і, таким чином, назавжди звільнити місце на диску, зайняте режимом сну.

Цілі кроки:

вимкнути режим сплячки:

sudo pmset -a hibernatemode 0

delete / private / var / vm / sleepimage:

sudo rm /private/var/vm/sleepimage

створити порожній файл і назвати його "sleepimage":

sudo touch /private/var/vm/sleepimage

змінити свій прапор на незмінний:

sudo chflags schg /private/var/vm/sleepimage

Таким чином система більше не може створювати режим сну. Це прекрасно працювало для мене, і я не бачив жодної проблеми на своєму Mac протягом 4 місяців.


4

Не видаляйте / private / var / vm ОС, які ОС постійно використовує.

Коли вам потрібно менше підміняти або перезавантажувати ОС, це зменшить кількість файлів, які вона тут використовує.


Нагадує мені вислів. Якщо це не зламалося, не виправляйте!
iProgram

4
Я видалив всю свою папку vm, думаючи, що система відтворить, коли потрібно, але цього не сталося. Коли система хотіла використовувати файли swap, вона застигла і перезапустилася. Зараз я створив папку vm та swapfile, сподіваючись, що це виправить проблему. Отже, НЕ видаляйте його!
Рахул Тхакур

2

Якщо це не займає занадто багато місця (як у вашому випадку), я б залишив, як є. Речі в приватній папці не мають бути змішені. Це частина системи UNIX, на якій створений ваш Mac, і не повинна бути видимою. Тому вони називають папку приватною . Але програмне забезпечення, як ви використовували, зробило його видимим, що не дуже добре.

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


3
Наступного разу, коли ваш Mac лягає спати, він знову створює зображення сну, тому його немає ніякого сенсу видаляти. @sean: не збільшуйте оперативну пам’ять, файл очікування буде таким же великим, як оперативна пам'ять, встановлена ​​у вашій системі.
Ден Барретт

У мене на ноутбуці залишилось лише 15 Гб, а / private / var / vm займає близько 12 ГБ, якими я міг би користуватися. Зараз це не відразу терміново, але я це розглядаю.
користувач3932000

2

Додаткова примітка до верхньої відповіді:

Оскільки ви можете або вимкнути режим сну, або активувати його, але потім змушений тримати його після пробудження, я знайшов брудний маленький трюк для мого вподобаного рішення: Проведіть сон, але видаліть його після пробудження, щоб звільнити місце на диску. Якщо ви такий, як я, який постійно зависає на вашому маленькому SSD приблизно 2-6 Гб вільного місця, це може бути вашим рішенням.

Просто наведіть сонник на свою .Trashпапку та очистіть відро для сміття після прокидання.

sudo pmset -a hibernatefile ~/.Trash/sleepimage

Це лише життєздатне рішення, якщо ви використовуєте лише один обліковий запис на своєму mac. Ви не зможете легко видалити файл сну з іншого облікового запису (Звичайно, ви могли б, якщо інший обліковий запис має достатньо прав, але це втратить його простоту, оскільки це не означатиме просто натискання на смітник).

Якщо з будь-якої причини ви хочете повернутися до заводських налаштувань, просто введіть

sudo pmset -a hibernatefile /var/vm/sleepimage

(Примітка. Я використовую 10.8, це може змінитися в інших версіях, просто перевірте man pmsetце.)


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.