Отключение уведомления «Ваш диск почти заполнен»

117

После обновления до macOS Sierra я получаю уведомление: «Ваш диск почти заполнен. Экономьте место за счет оптимизации хранилища».

уведомление MacOS

По-видимому, есть варианты для сохранения моих файлов в iCloud, автоматического удаления файлов или удаления файлов вручную:

введите описание изображения здесь

Моя проблема / раздражение в том, что у меня 80 ГБ свободного от объема 440 ГБ.

Вопрос: есть ли способ заставить это уведомление замолчать (полу) постоянно или изменить порог, который он использует для уведомления?

Майк Бурс
источник
10
То же самое и здесь: «У вас есть только 17,57 ГБ хранилища. Экономьте место за счет оптимизации хранилища». на моем MacBook Pro флэш-памяти. Смешной.
Кенорб
Несколько предложений, хотя некоторые заставляют меня съеживаться. Но, когда вещи раздражают, иногда вы должны попробовать их.
Zonker.in.Geneva
Обновление Mojave до 10.14.1, похоже, исправило эту ошибку.
garageàtrois
3
@ garageàtrois После обновления до Мохаве я получаю уведомления чаще, т.е. каждые несколько минут!
Бхав
И вы очистили мусор?
Лиза Энн

Ответы:

114

Решение для отключения «почти полного» и «полного» уведомления заключается в отключении демона, ответственного за него:

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

или же

launchctl stop com.apple.diskspaced

В качестве альтернативы, если вы хотите предотвратить частое появление «почти полного», вы можете снизить порог в ГБ с помощью:

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

Значение по умолчанию 20 ГБ слишком велико для небольших твердотельных накопителей, и возможная ошибка приводит к тому, что предупреждение отображается каждый день, а не один раз, поэтому в качестве обходного пути вы можете уменьшить свободное пространство до появления предупреждения, например до 10 ГБ:

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)

Я не слишком внимательно присматривался, но возможно, установка даты последнего предупреждения на дату в будущем также предотвратит отображение предупреждения.

malhal
источник
10
osX чертовски жалок, что вы должны использовать терминал, чтобы отключить эти вещи.
Джейми Хатбер
16
Работа запрещена, когда включена защита целостности системы
Raptor
21
«Возможная ошибка приводит к тому, что предупреждение отображается каждый день». Моя мина появляется каждые 5 секунд. Этот ответ действительно помог.
user3247189
3
Да, с Мохаве это предупреждение появляется буквально каждые 20 секунд для меня, а не ежедневно. Возможно, если Xcode прекратит автоматическую установку файлов симулятора по 20 Гбайт при каждом обновлении, это не будет проблемой. Увы ... @malhal Я установил defaultдля минимального пробела более низкое значение. Есть ли способ узнать, какие настройки по умолчанию вы изменили вручную, или я должен сам отслеживать что-то подобное?
Джейк Т.
8
Нам нужен обновленный ответ для Мохаве
zcahfg2
40

macOS Мохаве

См .: Как получить доступ к значениям демона запуска / системным значениям по умолчанию

macOS Сьерра

На Сьерре эта команда не работает для меня:

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
kenorb
источник
2
Запуск этих команд с Мохаве, похоже, не имеет никакого эффекта.
Джонатан Аллард
@kenorb, что делает последняя команда grep, для macOS mojave я получаю другой вывод (см. здесь) , и я пытаюсь использовать это для отключения всплывающего окна на Mojave. Есть идеи, как это можно сделать?
QuantumHoneybees
1
Все еще работала на Sierra на MBA 2012. Этот скучный экран раздражал меня и позволил мне не покупать другой Macbook. killall -STOP дисковое пространство исправило это для меня ... Спасибо
mrSidX
10

Я думаю, что это уведомление является ошибкой.

У меня на диске свободно 760 ГБ (1 ТБ), и я получаю это уведомление каждое утро с момента обновления до Sierra.

Я включил Оптимизировать хранилище (но не хранить в iCloud).

Уилл Хендерсон
источник
7
Существует системный процесс, который называет deletedочистку кешей, и всякий раз, когда он это делает, отправляет CACHE_DELETE_PURGEABLE_UPDATEDраспределенное уведомление всем приложениям. Всякий раз, когда отправляется это уведомление, появляется уведомление «Ваш диск почти заполнен», поэтому я думаю, что это ошибка в каком-то приложении, которое прослушивает это распределенное уведомление.
вкладыш
1
@inket Как смотреть эти уведомления?
Майк Бурс
4
Согласен. Я нахожусь на Мохаве 10.14, ни один из этих предположений ничего не сделал. Это действительно раздражает.
vknyvz
2

Включение режима «Не беспокоить» для уведомлений отключит уведомления «Ваш диск почти заполнен». Есть недостаток, так как это заставит замолчать все уведомления.

Боковая панель уведомлений с функцией «Не беспокоить» включена, под ней написано «Завтра выключится»

Это не поможет с проблемой переполнения вашего диска, если он на самом деле слишком переполнен. Кроме того, вам может потребоваться снова включить функцию «Не беспокоить». Похоже, что можно было бы включить его на все, кроме одной минуты дня, но я не уверен, что разработчики намеревались использовать Do Not Disturb постоянно.

на панели предпочтений уведомлений установлен режим «Не беспокоить» с 12:00 до 23:59.

dwightk
источник