Wyciszanie powiadomienia „Twój dysk jest prawie pełny”

117

Po uaktualnieniu do systemu macOS Sierra otrzymuję powiadomienie „Twój dysk jest prawie pełny. Oszczędzaj miejsce, optymalizując przestrzeń dyskową”:

powiadomienie macOS

Wygląda na to, że możesz przechowywać moje pliki w iCloud, automatycznie usuwać pliki lub ręcznie usuwać pliki:

wprowadź opis zdjęcia tutaj

Mój problem / irytacja polega na tym, że mam 80 GB wolnej przestrzeni od mojego 440 GB woluminu.

Pytanie: czy istnieje sposób, aby wyciszyć to powiadomienie w sposób (pół-) trwały lub zmienić próg używany do powiadomienia?

Mike Boers
źródło
10
To samo tutaj: „Masz tylko 17,57 GB przestrzeni dyskowej. Oszczędzaj miejsce, optymalizując przestrzeń dyskową”. na mojej pamięci flash Macbook Pro. Absurdalny, niedorzeczny.
kenorb,
Kilka sugestii, choć niektóre wywołują u mnie dreszcze. Ale kiedy rzeczy są denerwujące, czasami trzeba je wypróbować.
Zonker.in. Geneva
Wydaje się, że aktualizacja Mojave do 10.14.1 naprawiła ten błąd.
garageàtrois
3
@ garażtrois Od czasu przejścia na Mojave, otrzymuję powiadomienia częściej, tj. co kilka minut!
Bhav
I opróżniłeś śmieci?
Lisa Ann

Odpowiedzi:

114

Rozwiązaniem problemu wyłączenia powiadomień „prawie pełne” i „pełne” jest wyłączenie odpowiedzialnego za nie demona:

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

lub

launchctl stop com.apple.diskspaced

Alternatywnie, jeśli chcesz tylko zapobiegać tak częstemu pojawianiu się „prawie pełnego”, możesz obniżyć próg GB poprzez:

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

Domyślna wartość 20 GB jest zbyt wysoka dla małych dysków SSD, a ewentualny błąd powoduje, że alert jest wyświetlany codziennie, a nie tylko raz, więc w celu obejścia problemu można zmniejszyć ilość wolnego miejsca przed pojawieniem się alertu, np. Do 10 GB:

defaults write com.apple.diskspaced minFreeSpace 10

Demon odczytuje swoje ustawienia wstępne tylko podczas uruchamiania, więc musisz go zrestartować, jeśli masz wyłączoną integralność systemu:

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

W przeciwnym razie zabij to:

killall diskspaced

Jeśli interesują Cię inne preferencje dotyczące alertów dysku, możesz wyświetlić niektóre z nich za pomocą parametru pomocy:

/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.

A oto kilka ukrytych:

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

Nie przyjrzałem się zbyt uważnie, ale możliwe jest, że ustawienie ostatniej daty ostrzeżenia na datę w przyszłości również uniemożliwi wyświetlanie ostrzeżenia.

malhal
źródło
10
osX jest cholernie żałosny, że musisz użyć terminalu, aby wyłączyć te rzeczy.
Jamie Hutber
16
Operacja niedozwolona, ​​gdy włączona jest ochrona integralności systemu
Raptor
21
„możliwy błąd powoduje, że alert jest wyświetlany codziennie”. Mój pojawia się co 5 sekund **. Ta odpowiedź naprawdę pomogła.
user3247189,
3
Tak, z Mojave ten alert wyskakuje dla mnie dosłownie co 20 sekund, a nie codziennie. Może jeśli Xcode przestanie automatycznie instalować pliki symulatorów o wartości 20 GB przy każdej aktualizacji, nie będzie problemu. Niestety ... @malhal Ustawiłem defaultprzestrzeń dla min na niższą wartość. Czy istnieje sposób, aby sprawdzić, które wartości domyślne zmieniłeś ręcznie, czy też powinienem sam śledzić coś takiego?
Jake T.
8
Potrzebujemy zaktualizowanej odpowiedzi dla Mojave
zcahfg2,
40

macOS Mojave

Zobacz: Jak uzyskać dostęp do wartości demona uruchamiania / domyślnych wartości systemowych

macOS Sierra

W Sierra ta komenda nie działała dla mnie:

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

z powodu włączonej ochrony integralności systemu , aby zatrzymać diskspacedusługę, uruchom:

launchctl stop com.apple.diskspaced

Uwaga: Użyj, startaby rozpocząć od nowa lub listzobaczyć szczegóły (np. Jego PID).

Jeśli usługa uruchamia się ponownie po chwili, spróbuj wykonać następujące polecenie, aby ją zatrzymać:

killall -STOP diskspaced

Zmiana poziomu ostrzeżenia i interwału

Aby zmienić domyślne ustawienia użytkownika, oto kilka przykładowych poleceń:

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

Następnie uruchom ponownie usługę:

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

Aby zobaczyć załadowane ustawienia, uruchom diskspacednp .:

$(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

Uwagi

Uważam, że parametry wymienione przez @malhal już nie istnieją. Oto proste polecenie, aby to przetestować:

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

Rozwiązywanie problemów

Sprawdź dzienniki za pomocą tego polecenia pod kątem ostrzeżeń:

grep com.apple.diskspaced /var/log/system.log
kenorb
źródło
2
Uruchamianie tych poleceń w Mojave nie wydaje się mieć żadnego efektu.
Jonathan Allard
@kenorb, więc co robi ta ostatnia komenda grep, dla macOS mojave otrzymuję inne wyjście (patrz tutaj) i próbuję tego użyć, aby wyłączyć wyskakujące okienko na Mojave. Wszelkie pomysły, jak można to zrobić?
QuantumHoneybees
1
Wciąż korzystam z Sierra na MBA 2012. Ten ekran nag był denerwujący i postawił mnie tak, że nie chcę kupować innego Macbooka. killall -STOP diskspaced naprawił to dla mnie ... Dzięki
mrSidX
10

Myślę, że to powiadomienie jest błędem.

Mam 760 GB wolnego miejsca na dysku (1 TB) i wciąż otrzymuję to samo powiadomienie każdego dnia od momentu przejścia na Sierra.

Włączyłem Optymalizuj pamięć (ale nie Store w iCloud).

Will Henderson
źródło
7
Istnieje proces systemowy zwany deletedczyszczeniem pamięci podręcznej i za każdym razem, gdy to robi, wysyła CACHE_DELETE_PURGEABLE_UPDATEDrozproszone powiadomienie do wszystkich aplikacji. Za każdym razem, gdy to powiadomienie jest wysyłane, pojawia się powiadomienie „Twój dysk jest prawie pełny”, więc myślę, że to błąd w niektórych aplikacjach, które nasłuchują tego rozproszonego powiadomienia.
inket
1
@inket Jak oglądać te powiadomienia?
Mike Boers,
4
Zgadzam się. Jestem na Mojave 10.14, żadna z tych sugestii nic nie zrobiła. To jest naprawdę denerwujące.
vknyvz
2

Włączenie trybu Nie przeszkadzać w powiadomieniach spowoduje wyciszenie powiadomień „Dysk jest prawie pełny”. Ma to pewną wadę, ponieważ wyciszy wszystkie powiadomienia.

pasek boczny powiadomień z włączoną funkcją Nie przeszkadzać, poniżej napis „Wyłączy jutro”

To nie pomoże w podstawowym problemie z dyskiem, który jest zbyt pełny, jeśli w rzeczywistości jest zbyt pełny. Ponadto może być konieczne ponowne włączenie funkcji Nie przeszkadzać. Wygląda na to, że może być możliwe włączenie go przez około jedną minutę, ale nie jestem pewien, czy programiści zamierzali używać funkcji Nie przeszkadzać.

okienko preferencji powiadomień ustawione na Nie przeszkadzać od 12:00 do 23:59

dwightk
źródło