111

After upgrading to macOS Sierra, I'm getting the notification that "Your disk is almost full. Save space by optimizing storage.":

macOS notification

The options appear to be to store my files in iCloud, automatically delete files, or manually delete files:

enter image description here

My problem/irritation is that I have 80GB free of my 440GB volume.

The question: is there a way to silence this notification in a (semi-)permanent fashion, or to change the threshold it uses for the notification?

  • 10
    The same here: "You only have 17.57 GB of storage. Save space by optimizing storage." on my Macbook Pro flash storage. Ridiculous. – kenorb Dec 4 '16 at 16:45
  • A few suggestion, though some make me cringe. But, when things are annoying, sometimes you have to try them. – Zonker.in.Geneva Mar 6 '17 at 11:52
  • The Mojave upgrade to 10.14.1 seems to have fixed this bug. – garageàtrois Nov 17 '18 at 0:14
  • 3
    @garageàtrois Since upgrading to Mojave, I get the notification more frequently i.e. every few minutes! – Bhav Nov 22 '18 at 20:55
  • And you did empty the trash? – Lisa Ann Dec 9 '18 at 8:44
110

The solution to disabling the "almost full" and "full" notification is to disable the daemon responsible for it:

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

or

launchctl stop com.apple.diskspaced

Alternatively, if you only want to prevent the "almost full" from appearing so often then you can lower the GB threshold via:

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

The default 20GB is too high for small SSDs and a possible bug causes the alert to be shown every day rather than just once, so as a workaround you can lower the free space before the alert appears, e.g. to 10GB:

defaults write com.apple.diskspaced minFreeSpace 10

The daemon only reads its prefs on startup so you need to restart it if you have system integrity turned off:

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

Otherwise kill it:

killall diskspaced

In case you are interested in the other preferences for these disk alerts you can view some of them using the help param:

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

And here are a couple of hidden ones:

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

I didn't look too closely at but it is possible setting the last warning date to a date in the future would also prevent the alert displaying.

  • 8
    osX is bloody pathetic that you have to do use terminal to turn these things off. – Jamie Hutber May 15 '18 at 11:25
  • 15
    Operation not permitted while System Integrity Protection is engaged – Raptor May 31 '18 at 1:42
  • 19
    "a possible bug causes the alert to be shown every day" Mine pops up every 5 f**ing seconds. This answer really helped. – user3247189 Aug 18 '18 at 1:40
  • 3
    Yeah with Mojave this alert is popping up literally every 20 seconds for me, not daily. Maybe if Xcode would stop automatically installing 20 gb worth of simulator files with every update, this wouldn't be an issue. Alas... @malhal I have set the default for min space to a lower value. Is there a way to see which defaults you've manually changed, or should I keep track of something like this myself? – Jake T. Nov 3 '18 at 21:49
  • 8
    We need an updated answer for Mojave – zcahfg2 Nov 4 '18 at 19:29
38

macOS Mojave

See: How to access a launch daemon's values/ system defaults value

macOS Sierra

On Sierra this command didn't work for me:

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

due to System Integrity Protection engaged, so to stop the diskspaced service, run:

launchctl stop com.apple.diskspaced

Note: Use start to start again or list to see the details (e.g. its PID).

If the service is restarting after a while, try the following command to stop it:

killall -STOP diskspaced

Changing warning level and interval

To change the user's default settings, here are some example commands:

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

Then restart the service:

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

To see the loaded settings, run diskspaced, e.g.:

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

Notes

I believe parameters mentioned by @malhal no longer exist. Here is a simple command to test this:

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

Troubleshooting

Check the logs by this command for any warnings:

grep com.apple.diskspaced /var/log/system.log
  • 2
    Running those commands as of Mojave doesn't seem to have any effect. – Jonathan Allard Nov 2 '18 at 19:58
  • @kenorb, so what does that last grep command do, for macOS mojave I get a different output (see here), and I'm trying to use that to disable the popup on Mojave. Any ideas how that could be done? – QuantumHoneybees Nov 14 '18 at 20:12
10

I think this notification is a bug.

I have 760GB free on my drive (a 1TB drive) and still get this same notification every morning since upgrading to Sierra.

I enabled Optimize Storage (but not Store in iCloud).

  • 7
    There's a system process called deleted that purges caches and whenever it does, it sends a CACHE_DELETE_PURGEABLE_UPDATED distributed notification to all apps. Whenever that notification is sent, the "Your disk is almost full" notification shows up, so I think it's a bug in some app that's listening for that distributed notification. – inket Jan 27 '17 at 2:12
  • 1
    @inket How does one watch these notifications? – Mike Boers Mar 11 '17 at 13:56
  • 4
    Agreed.I am on Mojave 10.14, none of these suggesting did anything. This is really annoying. – vknyvz Nov 9 '18 at 20:53
2

Turning on Do Not Disturb mode for notifications will silence the "Your disk is almost full" notifications. There is a downside as this will silence all notifications.

notification sidebar with do not disturb turned on, it says "Will turn off tomorrow" underneath

This will not help with the underlying issue of your disk being too full if it is in fact too full. Additionally, you may need to turn Do Not Disturb on again. It looks like it may be possible to get it remain on for all but about one minute of the day, but I'm not sure the developers intended Do Not Disturb to be used continually.

notifications preference pane set to have Do Not Disturb from 12AM to 11:59PM

You must log in to answer this question.

protected by Community Jul 17 '17 at 11:23

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged .