128 ГБ SSD и 23 ГБ спящего образа + файл подкачки, что делать?

14

Итак, у меня есть 13-дюймовый Macbook Air с 128 ГБ, и недавно я получил сообщение, показывающее, что у меня мало места, поэтому я быстро проверил, что занимает все пространство, и обнаружил, что У меня 4 ГБ спящего образа (что нормально), но 20 файлов подкачки, каждый занимает от 60 МБ до 1 ГБ. При небольшом размере диска это действительно неприемлемо, поэтому мне было интересно, было ли безопасно удалить некоторые из файлов подкачки и пусть система создаст их. Или перезапуск поможет (хотя я бы предпочел, чтобы не было, поспорил с моим другом, чтобы продлить время моей работы как можно дольше: p) Любые предложения приветствуются.

theAmateurProgrammer
источник
Что-то будет просачиваться из памяти - вы можете использовать эту информацию, чтобы узнать что. quora.com/…
Данак
Что ж, если это сервер окон, который занимает 4 ГБ виртуальной памяти? И я не думаю, что вы действительно можете исправить утечку памяти в другом приложении правильно .. Думаю, мне придется перезапустить его, в любом случае, спасибо.
theAmateurProgrammer
Как перезапустить только WindowServer на OSX hints.macworld.com/article.php?story=20071121154033749
Danack

Ответы:

13

Вы можете отключить Hibernate, чтобы восстановить свой размер в оперативной памяти на вашем SSD / HD: сначала отключите его:

sudo pmset -a hibernatemode 0

Тогда освободите место:

sudo rm /var/vm/sleepimage

... если вы хотите включить его снова:

sudo pmset -a hibernatemode 3

Примечание: -a означает на зарядном устройстве и на аккумуляторе, -b означает аккумулятор и -c означает на зарядном устройстве.

В качестве альтернативы, если у вас более одного диска, вы можете создать символическое изображение сна на HD, чтобы он мог физически найти его там.

Обмен

Сначала отключите Swap:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Позже удалите файлы:

sudo rm /private/var/vm/swapfile*

... если вы хотите включить его снова, сделайте:

sudo launchctl load -wF /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
liv3010m
источник
Хотя под Mountain Lion возвращается
сонное изображение
Не знал, что Горный Лев не подчиняется этому.
liv3010m
1
Под El Capitan попытка очистки свопа не разрешена новой Системой защиты целостности. /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist: Operation not permitted while System Integrity Protection is engaged
leonsas
2

Перезапуск решит проблему окончательно.

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

Кроме того, удаление файлов подкачки было бы плохой идеей. Для этого вам понадобится sudo, и если в системе открыт файл, даже если вы запустите файл, он все равно будет сохраняться, так как дескриптор файла будет открыт, поэтому вы не получите обратно пространство.

Обязательно попробуйте, но это не рекомендуется :)

Alex
источник
1
OSX очистит файлы подкачки, если процесс будет убит.
user151019
0

Другой ответ уже не упоминается отключение в спящий режим, но на на странице человека для pmset, это уже не достаточно , чтобы отключить создание файла спящего режима изображения (sleepimage).

Документы говорят,

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

Итак, нам нужно:

sudo pmset -a hibernatemode 0
sudo pmset -a standby 0
sudo pmset -a autopoweroff 0

Вы можете проверить свои настройки до и после изменения, используя sudo pmset -g. Затем вы можете sudo rm /var/vm/sleepimageудалить файл, но в моем случае это было сделано автоматически после установки всех 3 значений.

раскрутить
источник
-2

Вы можете удалить изображение сна, не повреждая ничего. Система будет воссоздавать его с течением времени. Обычно, когда я получаю сообщение о том, что у меня заканчивается свободное место, я просто захожу в терминал и печатаю sudo rm /var/vm/sleepimageи получаю около 9 гигов, но система со временем его перестраивает, так что это только временная отсрочка.

Чтобы закончить отвечать на ваш вопрос и дать вам понять, почему вы должны доверять мне, вы можете удалить каждый файл, var/vmпотому что он является кэшем того, что хранится в вашей оперативной памяти. Они не критичны ... если только вы не теряете мощность и при перезапуске большая часть varпапки очищается автоматически. Однако, чтобы предоставить пользователям постоянные отчеты об их свободном пространстве, OS X Lion и новее не удаляют старые vmфайлы при запуске.

По сути, у вас всегда будут файлы виртуальных машин с размером, приблизительно равным объему оперативной памяти, которую вы использовали для запуска программ. Вы можете удалить их, и при следующем значительном фоновом событии компьютер может их воссоздать. Если у вас есть только одна запущенная программа, которая ничего не делает, но имеет огромные файлы VM, это может быть признаком утечки памяти в программе, но я заметил, что многие панели предпочтений и плагины на панели меню действительно огромные проблемы с памятью: если вы запустите программу Google Drive Synchronizer, а также приложение Dropbox и приложение box.com, то они будут звонить домой 24 часа в сутки и безостановочно перемещать файлы. Их более чем достаточно для создания законных и огромных профилей виртуальных машин.

Надеюсь, это поможет!

wwasd
источник
Благодарность! Забавно, потому что у меня все приложения разбились, потому что на моем ноутбуке не хватило 100 МБ свободного места, а через 2 минуты у меня 8 ГБ. Сначала создайте резервную копию, а затем попытайтесь удалить файлы подкачки.
theAmateurProgrammer
2
Файлы подкачки содержат данные, которые в настоящее время не используются в реальной памяти, но когда эти данные необходимы, они будут перенесены обратно в реальную память. Файлы подкачки не должны быть удалены, они не являются кэшами, которые будут воссозданы /
user151019