使“您的磁盘快满”通知静音


117

升级到macOS Sierra后,我收到以下通知:“您的磁盘几乎已满。通过优化存储来节省空间。”:

macOS通知

这些选项似乎是将我的文件存储在iCloud中,自动删除文件或手动删除文件:

在此处输入图片说明

我的问题/困扰是我的440GB容量中有80GB可用空间。

问题:是否有办法以(半)永久性方式使此通知静音,或更改其用于通知的阈值?


10
此处相同:“您只有17.57 GB的存储。通过优化存储来节省空间。” 在我的Macbook Pro闪存中。荒谬。
kenorb '16

一些建议,尽管有些让我畏缩。但是,当事情很烦人时,有时您必须尝试一下。
Zonker.in.Geneva

Mojave升级到10.14.1似乎已经修复了该错误。
garageàtrois

3
@garageàtrois自从升级到Mojave以来,我得到通知的频率更高,即每隔几分钟!
Bhav

然后您清空了垃圾桶?
丽莎·安

Answers:


114

禁用“几乎已满”和“已满”通知的解决方案是禁用负责它的守护程序:

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

要么

launchctl stop com.apple.diskspaced

另外,如果您只想防止“几乎已满”出现如此频繁,则可以通过以下方法降低GB阈值:

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

对于小型SSD而言,默认的20GB太高了,可能的错误会导致警报每天显示而不是一次显示,因此,作为解决方法,您可以在警报出现之前将可用空间降低,例如降至10GB:

defaults write com.apple.diskspaced minFreeSpace 10

守护程序仅在启动时读取其首选项,因此如果您关闭了系统完整性,则需要重新启动它:

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

否则杀死它:

killall diskspaced

如果您对这些磁盘警报的其他首选项感兴趣,可以使用帮助参数查看其中的一些:

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

以下是一些隐藏的内容:

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

我没有仔细查看,但是有可能将上一个警告日期设置为将来的日期,这也会阻止警报显示。


10
osX非常可悲,您必须使用终端关闭这些功能。
Jamie Hutber '18

16
启用系统完整性保护时不允许进行操作
Raptor

21
“可能的错误会导致每天显示警报”。每5秒钟弹出一次地雷。这个答案确实有帮助。
user3247189 '18

3
是的,对于Mojave而言,此警报实际上是每20秒弹出一次,而不是每天。也许,如果Xcode在每次更新时都停止自动安装价值20 gb的模拟器文件,那将不是问题。las ... @malhal我已将defaultfor最小空间设置为较低的值。有没有办法查看您手动更改的默认值,还是我自己应该跟踪类似的信息?
杰克T.

8
我们需要莫哈韦沙漠的最新答案
zcahfg2

40

macOS Mojave

请参阅:如何访问启动守护程序的值/系统默认值

macOS Sierra

在Sierra上,此命令对我不起作用:

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

由于启用了系统完整性保护,因此要停止diskspaced服务,请运行:

launchctl stop com.apple.diskspaced

注意:用于start重新开始或list查看详细信息(例如PID)。

如果服务在一段时间后重新启动,请尝试使用以下命令将其停止:

killall -STOP diskspaced

更改警告级别和间隔

要更改用户的默认设置,以下是一些示例命令:

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

然后重新启动服务:

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

要查看已加载的设置,请运行diskspaced,例如:

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

笔记

我相信@malhal提到的参数不再存在。这是测试此命令的简单命令:

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

故障排除

通过此命令检查日志中是否有任何警告:

grep com.apple.diskspaced /var/log/system.log

2
从Mojave开始运行这些命令似乎没有任何效果。
乔纳森·阿拉德

@kenorb,那么最后一个grep命令的作用是什么,对于macOS mojave,我得到了不同的输出(请参阅此处),并且我试图使用它来禁用Mojave上的弹出窗口。有什么想法可以做到吗?
QuantumHoneybees

1
仍在Sierra上运行MBA2012。那令人讨厌的屏幕令人讨厌,这使我处于不想购买另一台Macbook的位置。killall -STOP diskspaced为我修复了这个问题……谢谢
mrSidX

10

我认为此通知是一个错误。

我的硬盘(1TB硬盘)上有760GB的可用空间,但自升级到Sierra以来,每天早晨仍会收到此通知。

我启用了“优化存储”(但未在iCloud中存储)。


7
有一个名为deleted清除高速缓存的系统进程,无论何时执行,它都会CACHE_DELETE_PURGEABLE_UPDATED向所有应用程序发送分布式通知。每当发送该通知时,都会显示“您的磁盘快满了”通知,因此,我认为这是某些正在监听该分布式通知的应用程序中的错误。
inket

1
@inket一个人如何观看这些通知?
Mike Boers

4
同意。我在Mojave 10.14上,这些建议都没有做任何事情。真烦人。
vknyvz

2

启用通知的“请勿打扰”模式将使“您的磁盘快满”通知消失。有一个缺点,因为这会使所有通知静音。

带有“请勿打扰”的通知侧边栏打开,其下方显示“明天将关闭”

如果实际上磁盘太满,这将无助于磁盘的根本问题太满。此外,您可能需要再次打开“请勿打扰”。似乎有可能将其保留为一天大约一分钟以外的所有时间,但是我不确定开发人员是否打算持续使用“请勿打扰”。

通知首选项窗格设置为从12AM到11:59 PM请勿打扰

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.