Что такое документы «sleepimage» и «swapfile»?

24

Я использовал Disk Inventory X и нашел файл с именем sleepimageв /private/var/vm/он занимает 4 ГБ! Я также обнаружил множество других файлов в той же папке, которые называются swapfile0 swapfile1и т. Д. Что они и могут ли они безопасно удалить, чтобы освободить место? (почти 10 ГБ)

daviesgeek
источник
Я ожидаю, что «файлы подкачки» предназначены для перестановки памяти, а «образ сна» - это сохраненное состояние, когда компьютер переходит в режим гибернации.
Тимоти Мюллер-Хардер
1
Очень простой поиск в Google может ответить на это ...
Александр - Восстановить Монику
7
Бесполезно жаловаться на вопрос, который вы считаете тривиальным с помощью комментария, который все остальные тоже найдут тривиальным. Отмечу, что по этому вопросу нет отрицательных голосов, и это предпочтительный метод предоставления такого вклада.
Stuff
Последний комментарий ref @XAleXOwnZX
stuffe
@ Александр Я сделал простой поиск в Google и нашел это.
Шон Линч

Ответы:

25

swapfile0, swapfile1И так далее файлы подкачки. Вы можете думать о них как о «резервной» оперативной памяти. Когда вашему компьютеру не хватает оперативной памяти для размещения запросов памяти всех ваших программ (что почти всегда, это нормально), он использует эти файлы для «записи» части того, что было в оперативной памяти.

Он sleepimageимеет очень похожее применение, за исключением того, что он используется только тогда, когда ваш Mac находится в спящем режиме / просыпается.

Удаление любого из swapfile*файлов может испортить вашу систему, но вы можете безопасно удалить sleepimage. Однако это бессмысленно, и, вероятно, он будет воссоздан в следующий раз, когда вы переведете компьютер в спящий режим. Если вы действительно хотите удалить его, вам придется использовать sudo rm, так как rootвладеет файлом.

Наконец, это нормально для sleepimageзанимает до 4 ГБ; обычно он занимает то же место, что и ваша RAM.

РЕДАКТИРОВАТЬ Вы можете /var/vm/sleepimageбезопасно удалить , но он будет воссоздан, когда вы переведите Mac в режим сна. Если вы run sudo pmset -a hibernatemode 0; sudo rm /var/vm/sleepimage, Mac будет использовать обычный режим сна (например, настольные Mac по умолчанию) и не будет воссоздан /var/vm/sleepimage. Смотрите этот пост с дополнительной информацией.

houbysoft
источник
На Mac состояние «гибернации» используется только на ноутбуках, когда батарея разряжена. Я считаю, что типичный системный сон не будет записывать содержимое оперативной памяти на диск. (Кто-нибудь может это подтвердить?)
NReilingh
@NReilingh: я верю, да.
Houbysoft
@NReilingh Ноутбуки поддерживают питание памяти и по умолчанию записывают ее содержимое в режим сна. Смотри man pmsetи этот вопрос .
Lri
3

Они являются частью системы виртуальной памяти: swapfile*буквально содержат данные подкачки, то есть содержимое памяти, выгруженное на диск.

sleepimageИспользуется для приостановки и возобновления поддержки; когда система находится в спящем режиме, именно там хранятся данные памяти.

Удаление любого из них может привести к значительным проблемам: сон-изображение имеет тот же размер, что и ОЗУ, и его необходимо будет воссоздать для сна; файлы подкачки - это используемая память, которая может привести к серьезным проблемам при удалении.

Если вы используете меньше swap, система автоматически освободит эти файлы и освободит это дисковое пространство.

Даниэль Питтман
источник
sleepimageне является частью системы виртуальной памяти. sleepimageотносится к управлению питанием и физической памяти.
Грэм Перрин,
2

Я просто удалил свой сон-образ, и все работает нормально, и чтобы навсегда предотвратить его повторное появление, выполните действия, описанные в комментариях к этой статье.

Резюме…

  • Могу ли я безопасно удалить sleepimage с моего Mac?
  • Да, вы можете удалить sleepimage, и он будет автоматически создан заново при следующем переводе вашего Mac в спящий режим. Чтобы удалить sleepimage, введите в терминал следующую команду:

    sudo rm / private / var / vm / sleepimage

Вам будет предложено ввести пароль администратора, чтобы получить доступ для удаления файла, это нормально.

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

проверить, какой режим активен

pmset -g | grep hibernatemode

изменить режим 0 = старый стиль sleep 3 = новый (сохранить в стиле диска)

sudo pmset -a hibernatemode 0
Стюарт
источник
Добро пожаловать, чтобы спросить другого! Пожалуйста, кратко изложите содержание статьи, на которую вы ссылаетесь. Ответа должно быть достаточно для решения проблемы. Затем вы можете предоставить дополнительную информацию, используя ссылки.
Маверик
Я выделил основные части из ссылки.
Тецудзин