O que posso excluir de / private / var / vm?

80

O que é esta pasta? É enorme e posso usar o espaço extra. Eu li que a imagem do sono não é necessária - isso é verdade? Devo apenas lidar com isso? A pasta "particular" é esvaziada automaticamente ou eu precisaria fazê-lo manualmente? Se não for útil (ou necessário), existe alguma maneira de impedir que ela reapareça no futuro?

insira a descrição da imagem aqui

Lobo
fonte
1
Você ainda está interessado na abordagem de prevenção em questão? Isso pode ser melhor solicitado separadamente agora que você tem uma resposta para os principais aspectos de sua consulta.
bmike
Parece que Lri abordou isso abaixo, mas obrigado pela dica.
Wolf

Respostas:

79

/var/vm/sleepimageé usado para armazenar o conteúdo da RAM durante a hibernação e o modo híbrido de hibernação e suspensão que os laptops Mac usam por padrão. Se você possui 8 GiB de RAM, /var/vm/sleepimageocupa cerca de 8 GiB de espaço em disco. Não sei por que não foi excluído depois de acordar do sono. Pode ser para garantir que haja espaço livre em disco suficiente para ele ou para que ele não seja armazenado em blocos não contíguos se o espaço em disco estiver baixo.

Você pode excluir /var/vm/sleepimagecom segurança, mas ele será recriado quando você colocar o Mac no modo de suspensão. Se você executar sudo pmset -a hibernatemode 0; sudo rm /var/vm/sleepimage, o Mac usará um modo de suspensão normal (como Macs de mesa por padrão) e não será recriado /var/vm/sleepimage.

De man pmset:

hibernatemode = 0 (0000 binário) por padrão nas áreas de trabalho suportadas. O sistema não fará backup de memória para armazenamento persistente. O sistema deve despertar do conteúdo da memória; o sistema perderá o contexto com a perda de energia. Historicamente, isso é um sono simples e antigo.

hibernatemode = 3 (binário 0011) por padrão em portáteis suportados. O sistema armazenará uma cópia da memória no armazenamento persistente (o disco) e alimentará a memória durante o sono. O sistema despertará da memória, a menos que uma perda de energia o force a restaurar a partir da imagem do disco.

hibernatemode = 25 (binário 0001 1001) é apenas configurável via pmset. O sistema armazenará uma cópia da memória no armazenamento persistente (o disco) e removerá a energia da memória. O sistema irá restaurar a partir da imagem do disco. Se você deseja "hibernação" - sono mais lento, despertar mais lento e melhor duração da bateria, use essa configuração.

  • 0 (modo de suspensão tradicional) permite acordar e dormir rapidamente, economiza espaço em disco e reduz a gravação na unidade.
  • 3 (hibernação híbrida e modo de suspensão segura) permite acordar e dormir rapidamente e restaurar o estado após uma perda de energia.
  • 25 (hibernação) economiza energia e permite restaurar o estado após uma perda de energia.

Eu usei o hibernatemode 0 com o meu MacBook Air. Mesmo que o MacBook Air tenha adormecido quando a bateria estava quase vazia, ela normalmente não se esgota completamente durante o sono. /var/vm/sleepimageocupou cerca de 4 GiB de espaço em disco e gravá-lo centenas ou milhares de vezes pode ter reduzido a vida útil do SSD.

Lri
fonte
23

Adição: o que Dan Barrett disse sobre a recriação da imagem do sono é verdadeiro. No entanto, há uma maneira de contorná-lo e, portanto, liberar permanentemente o espaço em disco ocupado pela imagem do sono.

As etapas inteiras:

desative o modo de hibernação:

sudo pmset -a hibernatemode 0

delete / private / var / vm / sleepimage:

sudo rm /private/var/vm/sleepimage

crie um arquivo vazio e denomine 'sleepimage':

sudo touch /private/var/vm/sleepimage

mude sua bandeira para imutável:

sudo chflags schg /private/var/vm/sleepimage

Dessa maneira, o sistema não pode mais recriar a imagem do sono. Isso funcionou perfeitamente para mim e não vejo nenhum problema no meu Mac há 4 meses.

xji
fonte
4

Não remova / private / var / vm, são os seus arquivos de troca que o sistema operacional utiliza constantemente.

Quando você precisar de menos trocas ou reinicializar, o sistema operacional reduzirá o número de arquivos usados ​​aqui.

user151019
fonte
Me lembra o ditado. Se não estiver quebrado, não conserte!
IProgram
4
Eu apaguei minha pasta vm inteira pensando que o sistema será recriado quando necessário, mas isso não aconteceu. Quando o sistema quis usar arquivos de troca, congelou e reiniciou. Agora criei a pasta vm e o swapfile, esperando que isso resolva o problema. Então, NÃO exclua!
Rahul Thakur
2

Se não estiver ocupando muito espaço (como no seu caso), eu deixaria como está. Os itens da pasta particular não devem ser mexidos. Faz parte do sistema UNIX em que o seu Mac é construído e não deve estar visível. É por isso que eles chamam a pasta de privada . Mas o software, como você usou, tornou visível, o que não é uma coisa boa.

Dito isto, você pode excluir esta imagem de suspensão sem nenhum problema, mas eu não a recomendaria. Se você realmente precisa desses 4 GB, tente usar um disco rígido para filmes, músicas ou mais e economize espaço com seus próprios arquivos, não com os arquivos do sistema.

Michiel
fonte
3
Na próxima vez em que o seu Mac entrar no modo de suspensão, ele recria a imagem do modo de suspensão, então não faz sentido removê-la. @sean: não aumente sua RAM, o arquivo sleepimage será tão grande quanto a RAM instalada em seu sistema.
Dan Barrett
Eu tenho apenas 15 GB restantes no meu laptop e o / private / var / vm ocupa cerca de 12 GB que eu poderia estar usando. Não é imediatamente urgente agora, mas estou considerando.
precisa saber é o seguinte
2

Uma observação adicional para a resposta principal:

Como você pode optar por desativar a imagem do sono ou ativá-lo, mas forçado a mantê-lo após a ativação, encontrei um pequeno truque sujo para a minha solução preferida: Tenha uma imagem do sono, mas exclua-a após a ativação para liberar espaço em disco. Se você é alguém como eu, que fica constantemente em torno de 2 a 6 GB de espaço livre no seu pequeno SSD, essa pode ser a sua solução.

Basta apontar a imagem do sono para a sua .Trashpasta e esvaziar a lixeira depois de acordar.

sudo pmset -a hibernatefile ~/.Trash/sleepimage

Esta é apenas uma solução viável, se você usar apenas uma conta no seu mac. Você não poderá excluir facilmente o arquivo de suspensão de outra conta (é claro que poderia, se a outra conta tiver direitos suficientes, mas perderia a simplicidade, porque não significaria apenas clicar na lixeira).

Se, por qualquer motivo, você quiser retornar às configurações de fábrica, digite

sudo pmset -a hibernatefile /var/vm/sleepimage

(Nota: eu uso o 10.8, isso pode mudar em outras versões, basta verificar man pmsetpara ter certeza.)

zerweck
fonte
-1
sudo pmset -a hibernatefile /dev/null/sleepimage
Freddy
fonte