Disattivazione della notifica "Il tuo disco è quasi pieno"

91

Dopo l'aggiornamento a macOS Sierra, ricevo la notifica che "Il tuo disco è quasi pieno. Risparmia spazio ottimizzando la memoria.":

LeopzionisembranoesseredimemorizzareimieifileiniCloud,eliminareautomaticamenteifileoeliminaremanualmenteifile:

Il mio problema / irritazione è che ho 80 GB di spazio sul mio volume da 440 GB.

La domanda: esiste un modo per disattivare questa notifica in modo (semi) permanente o per modificare la soglia utilizzata per la notifica?

    
posta Mike Boers 25.09.2016 - 17:18
fonte

3 risposte

94

La soluzione per disabilitare la notifica "quasi piena" e "completa" è disabilitare il demone responsabile per esso:

launchctl unload -w /System/Library/LaunchAgents/com.apple.diskspaced.plist

In alternativa, se vuoi solo impedire che il "quasi pieno" venga visualizzato così spesso, puoi abbassare la soglia GB tramite:

minFreeSpace (int) - minimal free size in GB. Default: 20

Il valore predefinito di 20 GB è troppo alto per i piccoli SSD e un possibile bug fa sì che l'avviso venga visualizzato ogni giorno anziché solo una volta, quindi come soluzione alternativa è possibile ridurre lo spazio libero prima che venga visualizzato l'avviso, ad es. a 10 GB:

defaults write com.apple.diskspaced minFreeSpace 10

Il daemon legge i suoi prefs solo all'avvio, quindi devi riavviarlo se hai l'integrità del sistema disattivata:

launchctl unload -w /System/Library/LaunchAgents/com.apple.diskspaced.plist
launchctl load -w /System/Library/LaunchAgents/com.apple.diskspaced.plist

Altrimenti uccidilo:

killall diskspaced

Se sei interessato alle altre preferenze per questi avvisi sul disco, puoi visualizzarne alcuni usando il parametro help:

/System/Library/PrivateFrameworks/StorageManagement.framework/Versions/A/Resources/diskspaced help
---
  Domain: com.apple.diskspaced
  Supported keys:
  debugLog (BOOL) - log additional debug information. Default: NO
  checkAllVolumes (BOOL) - check all volumes. Default: NO
  minDiskSize (int) - minimal disk size in GB. Default: 128
  minFreeSpace (int) - minimal free size in GB. Default: 20
  minPurgeableSpace (int) - minimal purgeabe space size in GB. Default: 20
---
  Commands: removeAllNotifications - Removes all scheduled and delivered user notificiations.

E qui ci sono un paio di quelli nascosti:

warningInterval (integer default 0)
lastWarningDate (string e.g. 2017-05-05 16:48:29 +0000)

Non ho esaminato troppo attentamente, ma è possibile che l'impostazione dell'ultima data di avviso su una data futura impedisca anche la visualizzazione degli avvisi.

    
risposta data 05.05.2017 - 20:55
fonte
30

macOS Mojave

Vedi: Come accedere al valore di valori di un demone di lancio / valori predefiniti di sistema

macOS Sierra

Su Sierra questo comando non ha funzionato per me:

launchctl unload -w /System/Library/LaunchAgents/com.apple.diskspaced.plist

a causa della protezione dell'integrità del sistema attivata, quindi per interrompere il servizio diskspaced , esegui:

launchctl stop com.apple.diskspaced

Nota: usa start per ricominciare o list per vedere i dettagli (ad es. PID ).

Se il servizio si sta riavviando dopo un po ', prova il seguente comando per fermarlo:

killall -STOP diskspaced

Modifica del livello di avviso e dell'intervallo

Per modificare le impostazioni predefinite dell'utente, ecco alcuni comandi di esempio:

defaults write com.apple.diskspaced freeSpaceWarningLevel 1
defaults write com.apple.diskspaced warningInterval 3600
defaults write com.apple.diskspaced debugLog 1
defaults write com.apple.diskspaced checkAllVolumes 0

Quindi riavvia il servizio:

launchctl stop com.apple.diskspaced && launchctl start com.apple.diskspaced

Per visualizzare le impostazioni caricate, esegui diskspaced , ad esempio:

$(find /System/Library/PrivateFrameworks -name diskspaced -print -quit)
2017-08-04 18:32:27.943 diskspaced[92401:12312556] FreeSpaceWarningLevel: 1
2017-08-04 18:32:27.943 diskspaced[92401:12312556] WarningInterval: 3600
2017-08-04 18:32:27.943 diskspaced[92401:12312556] Check All Volumes: NO

Note

Credo che i parametri menzionati da @malhal non esistano più. Ecco un semplice comando per testare questo:

$ grep -A6 debugLog <(strings $(find /System/Library/PrivateFrameworks -name diskspaced -print -quit))
debugLog
freeSpaceWarningLevel
FreeSpaceWarningLevel: %ld
warningInterval
WarningInterval: %ld
checkAllVolumes
Check All Volumes: %@

Risoluzione dei problemi

Controlla i registri con questo comando per eventuali avvisi:

grep com.apple.diskspaced /var/log/system.log
    
risposta data 04.08.2017 - 19:37
fonte
9

Penso che questa notifica sia un bug.

Ho 760 GB gratuiti sul mio disco (un'unità da 1 TB) e ricevo comunque la stessa notifica ogni mattina dall'aggiornamento a Sierra.

Ho attivato Optimize Storage (ma non Store in iCloud).

    
risposta data 27.09.2016 - 18:16
fonte

Leggi altre domande sui tag