SSD de 128 GB e 23 GB de imagem inativa + arquivo de troca, o que fazer?

14

Então, eu tenho um Macbook Air de 13 "com 128 GB e, recentemente, recebi uma mensagem mostrando que estou ficando sem espaço, então fiz uma verificação rápida para ver o que estava ocupando todo o espaço, e descobri que Eu tenho 4 GB de imagem de suspensão (o que é normal), mas 20 arquivos de troca, cada um com 60 MB a 1 GB. Com um tamanho pequeno de disco, isso é realmente inaceitável, então eu queria saber se era seguro excluir alguns dos arquivos de troca. ou deixe o sistema montá-los ou uma ajuda para reiniciar (embora eu prefira não, fiz uma aposta com meu amigo para manter meu tempo de atividade o maior tempo possível: p) Quaisquer sugestões apreciadas.

theAmateurProgrammer
fonte
Algo estará vazando memória - você poderá usar essas informações para descobrir o que. Quora.com/…
Danack '
Bem, e se for o servidor de janela que ocupa 4 GB de memória virtual? E eu não acho que você consiga consertar um vazamento de memória em outro aplicativo corretamente. Acho que vou ter que reiniciar, obrigado mesmo assim.
theAmateurProgrammer
Como reiniciar apenas WindowServer no OSX hints.macworld.com/article.php?story=20071121154033749
Danack

Respostas:

13

Você pode desativar o Hibernate para recuperar seu tamanho na RAM do seu SSD / HD: primeiro desative-o:

sudo pmset -a hibernatemode 0

Em seguida, libere espaço:

sudo rm /var/vm/sleepimage

... se você deseja habilitá-lo novamente:

sudo pmset -a hibernatemode 3

Nota: -a significa no carregador e na bateria, -b significa bateria e -c significa no carregador.

Como alternativa, se você tiver mais de um disco, poderá vincular a imagem do sono a um HD para que ele possa ser localizado fisicamente.

Troca

Primeiro desative Trocar:

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

Mais tarde, exclua os arquivos:

sudo rm /private/var/vm/swapfile*

... se você deseja habilitá-lo novamente, faça:

sudo launchctl load -wF /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
liv3010m
fonte
Embora sob Lion Mountain a imagem do sono volte
user151019
Não sabia que o leão da montanha não o obedece.
liv3010m
1
Sob El Capitan, tentar limpar a troca não é permitido pelo novo System Integrity Protection. /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist: Operation not permitted while System Integrity Protection is engaged
Leonas # 6/16
2

Uma reinicialização resolverá definitivamente o problema.

Mesmo se você interromper o processo ofensivo, o sistema não limpará os arquivos de troca - você precisará de uma reinicialização para fazer isso.

Além disso, excluir os arquivos de troca seria uma má idéia. Você precisaria do sudo para fazer isso, e se o sistema tiver o arquivo aberto, mesmo que você o execute, ele ainda será mantido como o identificador do arquivo, para que você não recupere o espaço.

Por todos os meios, tente, mas não é recomendado :)

Alex
fonte
1
O OSX limpará os arquivos de troca se um processo for morto.
user151019
0

Outra resposta já mencionado desativação de hibernação, mas pela página do homem para pmset, isso não é mais suficiente para desativar a criação do arquivo de imagem de hibernação (SleepImage).

Os médicos dizem,

Para desativar completamente as imagens de hibernação, verifique se o modo de hibernação em espera e o desligamento automático estão definidos como 0.

Então precisamos:

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

Você pode verificar suas configurações antes e depois da alteração usando sudo pmset -g. Em seguida, você pode sudo rm /var/vm/sleepimageexcluir o arquivo, mas, no meu caso, isso foi feito automaticamente após definir todos os 3 valores.

spinup
fonte
-2

Você pode excluir a imagem do sono sem danificar nada. O sistema irá recriá-lo com o tempo. Normalmente, quando recebo uma mensagem de que estou ficando sem espaço, basta ir ao terminal e digitar sudo rm /var/vm/sleepimagee recebo cerca de 9 GB de volta, mas o sistema o reconstruirá com o tempo, por isso é apenas uma suspensão temporária.

Para terminar de responder à sua pergunta e informar por que você deve confiar em mim, você pode excluir todos os arquivos var/vmporque são caches do que está armazenado na sua RAM atualmente. Eles não são críticos ... a menos que você perca energia e, em uma reinicialização, a maior parte da varpasta é limpa automaticamente. No entanto, para fornecer aos usuários relatórios constantes de seu espaço livre, o OS X Lion e mais recentes não excluem os vmarquivos mais antigos na inicialização.

Basicamente, você sempre terá arquivos de VM com tamanho aproximadamente equivalente à quantidade de RAM usada em programas em execução. Você pode excluí-los e, no próximo evento significativo de atividade em segundo plano, o computador poderá recriá-los. Se você possui apenas um programa em execução, sem fazer nada, mas possui enormes arquivos de VM, isso pode ser um sinal de vazamento de memória em um programa, mas notei que muitos dos painéis e plugins de preferências na barra de menus são realmente grandes quantidades de memória: se você executar o sistema Google Drive Synchronizer, o aplicativo Dropbox e o aplicativo box.com, eles ligarão para casa 24 horas por dia, sete dias por semana e moverão os arquivos sem parar. São atividades mais que suficientes para gerar perfis de VM legítimos e enormes.

Espero que ajude!

wwasd
fonte
Obrigado! É engraçado, porque todos os meus aplicativos falharam porque meu laptop ficou sem espaço com 100 mb grátis, mas 2 minutos depois eu tenho 8 GB grátis. Primeiro, faça um backup e tente excluir os arquivos de troca.
TheAmateurProgrammer
2
Os arquivos de troca contêm dados que atualmente não são usados ​​na memória real, mas quando esses dados são necessários, eles serão trocados novamente na memória real. Os arquivos de troca não devem ser excluídos, não são caches que serão recriados /
user151019 17/04/2013