SSD da 128 GB e 23 GB di immagine di sospensione + file di scambio, cosa fare?


14

Quindi ho un Macbook Air da 13 "con 128 GB, e di recente ho ricevuto un messaggio che mostra che sto esaurendo lo spazio, quindi ho fatto un rapido controllo per vedere cosa stava occupando tutto lo spazio e ho scoperto che Ho 4 GB di immagine di sospensione (che è normale), ma 20 file di scambio, ognuno dei quali occupa da 60 mb a 1 gb. Con una dimensione del disco ridotta, questo è davvero inaccettabile, quindi mi chiedevo se fosse sicuro eliminare alcuni dei file di scambio e lasciare che il sistema li costruisca. O sarebbe utile un riavvio (anche se preferirei non farlo, ho fatto una scommessa con il mio amico per mantenere il mio tempo di attività il più a lungo possibile: p) Qualche suggerimento apprezzato.


Qualcosa perderà memoria: potresti essere in grado di utilizzare queste informazioni per scoprire cosa. quora.com/…
Danack

Bene, cosa succede se è il server Windows che occupa 4 GB di memoria virtuale? E non credo che tu possa davvero riparare una perdita di memoria in un'altra app ... Immagino che dovrò riavviarlo, grazie comunque.
theAmateurProgrammer

Come riavviare solo WindowServer su OSX hints.macworld.com/article.php?story=20071121154033749
Danack

Risposte:


13

Puoi disabilitare Hibernate per riguadagnare le dimensioni in RAM sul tuo SSD / HD: Disabilitalo prima:

sudo pmset -a hibernatemode 0

Quindi liberare spazio:

sudo rm /var/vm/sleepimage

... se vuoi riattivarlo:

sudo pmset -a hibernatemode 3

Nota: -a significa caricabatterie e batteria, -b significa batteria e -c significa caricabatterie.

In alternativa, se si dispone di più di un disco, è possibile collegare simbolicamente sleepimage a un HD in modo che possa trovarsi fisicamente lì.

Scambiare

Prima disabilita Swap:

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

Successivamente elimina i file:

sudo rm /private/var/vm/swapfile*

... se vuoi abilitarlo di nuovo, fai:

sudo launchctl load -wF /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Anche se sotto Mountain Lion ritorna il sleepimage
user151019

Non sapevo che Mountain Lion non gli obbedisse.
liv3010m

1
Sotto El Capitan, tentare di cancellare lo swap non è consentito dal nuovo System Integrity Protection. /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist: Operation not permitted while System Integrity Protection is engaged
leonsas,

2

Un riavvio risolverà definitivamente il problema.

Anche se si interrompe il processo offensivo, il sistema non cancella i file di scambio - è necessario un riavvio per farlo.

Inoltre, eliminare i file di scambio sarebbe una cattiva idea. Avresti bisogno di fare sudo per farlo, e se il sistema ha il file aperto, anche se stai scrivendo il file, rimarrà comunque in mano dato che l'handle del file sarebbe aperto, quindi non otterrai indietro lo spazio.

Provalo sicuramente, ma non è consigliato :)


1
OSX cancellerà i file di scambio in caso di interruzione di un processo.
user151019,

0

Un'altra risposta ha già menzionato la disabilitazione dell'ibernazione, ma per la pagina man per pmset, questo non è più sufficiente per disabilitare la creazione del file dell'immagine di ibernazione (sleepimage).

I documenti dicono:

Per disabilitare completamente le immagini di ibernazione, assicurarsi che standby e autopoweroff dell'ibernatemode siano tutti impostati su 0.

Quindi abbiamo bisogno di:

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

Puoi verificare le tue impostazioni prima e dopo la modifica usando sudo pmset -g. Quindi è possibile sudo rm /var/vm/sleepimageeliminare il file, ma nel mio caso questo è stato fatto automaticamente dopo aver impostato tutti e 3 i valori.


-2

Puoi eliminare il sleepimage senza danneggiare nulla. Il sistema lo ricrea nel tempo. Di solito quando ricevo un messaggio che sto esaurendo lo spazio, vado semplicemente al terminale e scrivo sudo rm /var/vm/sleepimagee ricevo circa 9 concerti ma il sistema lo ricostruirà nel tempo, quindi è solo un recupero temporaneo.

Per finire di rispondere alla tua domanda e per farti sapere perché dovresti fidarti di me, puoi eliminare tutti i file var/vmperché sono cache di ciò che è attualmente archiviato nella RAM. Non sono fondamentali ... a meno che non si perda potenza e, al riavvio, la maggior parte della varcartella viene cancellata automaticamente. Tuttavia, per fornire agli utenti un report costante del loro spazio libero, OS X Lion e versioni successive non eliminano i vmfile meno recenti all'avvio.

Fondamentalmente, avrai sempre file VM con dimensioni approssimativamente equivalenti alla quantità di RAM che hai utilizzato eseguendo programmi. È possibile eliminarli e al successivo evento significativo di attività in background, il computer potrebbe ricrearli. Se hai solo un programma in esecuzione e non fai nulla, ma hai enormi file VM, questo potrebbe essere un segno di una perdita di memoria in un programma, ma ho notato che molti dei pannelli delle preferenze e dei plugin sulla barra dei menu sono davvero enormi porci di memoria: se esegui la cosa di Google Drive Synchronizer, l'app Dropbox e l'app box.com, questi chiameranno casa 24/7 e spostano i file ininterrottamente. Sono attività più che sufficienti per generare profili VM legittimi ed enormi.

Spero possa aiutare!


Grazie! È divertente, perché ho avuto un crash di tutte le mie app perché il mio laptop ha esaurito lo spazio con 100 MB gratuiti, ma 2 minuti dopo ho 8 GB gratuiti. Prima eseguirà un backup, quindi tenterà di eliminare i file di scambio.
theAmateurProgrammer

2
I file di scambio contengono dati che non sono attualmente utilizzati nella memoria reale, ma quando sono necessari tali dati verranno scambiati di nuovo nella memoria reale. I file di scambio non devono essere eliminati, non sono cache che verranno ricreate /
user151019
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.