Мовчить сповіщення "Ваш диск майже повний"


117

Після оновлення до macOS Sierra я отримую повідомлення про те, що "Ваш диск майже заповнений. Економте місце, оптимізуючи сховище.":

сповіщення macOS

Здається, такі можливості зберігати мої файли в iCloud, автоматично видаляти файли або видаляти файли вручну:

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

Моя проблема / роздратування полягає в тому, що у мене є 80 Гб вільного обсягу 440 ГБ.

Питання: чи є спосіб замовкнути це повідомлення (напів-) постійним способом або змінити поріг, який він використовує для сповіщення?


10
Те саме тут: "У вас є лише 17,57 Гб пам’яті. Економте місце, оптимізуючи сховище." на моєму флеш-пам’яті Macbook Pro. Смішно.
kenorb

Кілька пропозицій, хоча деякі змушують мене дурити. Але, коли справи дратують, іноді доводиться їх спробувати.
Zonker.in.Geneva

Оновлення Mojave до 10.14.1, здається, виправило цю помилку.
garageàtrois

3
@ garageàtrois Після оновлення до Mojave я отримую сповіщення частіше, тобто кожні кілька хвилин!
Бхав

А ви випорожнили сміття?
Ліза Енн

Відповіді:


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 ГБ занадто високий для невеликих SSD-дисків, і можлива помилка призводить до того, що попередження відображатиметься щодня, а не один раз, тож як вирішення проблеми можна зменшити вільний простір до появи сповіщення, наприклад, до 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)

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


10
osX - це кривава жалість, що вам потрібно використовувати термінал, щоб вимкнути ці речі.
Джеймі Хатбер

16
Експлуатація заборонена, поки захищений захист цілісності системи
Raptor

21
"можлива помилка спричиняє появу попередження щодня" Шахта вискакує кожні 5 f ** ing секунд. Ця відповідь справді допомогла.
користувач3247189

3
Так, з Мохаве це сповіщення спливає буквально кожні 20 секунд для мене, а не щодня. Можливо, якщо Xcode перестане автоматично встановлювати файли симулятора вартістю 20 Гб при кожному оновленні, це не буде проблемою. На жаль ... @malhal Я встановив значення defaultдля мінімального простору на менше значення. Чи є спосіб побачити, які типові параметри ви змінили вручну, або я повинен сам відслідковувати щось подібне?
Джейк Т.

8
Нам потрібна оновлена ​​відповідь на Mojave
zcahfg2

40

macOS Mojave

Див.: Як отримати доступ до значень / значення за замовчуванням демона запуску

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

2
Запуск цих команд у Mojave, здається, не має ніякого ефекту.
Джонатан Аллард

@kenorb, так що робить ця остання команда grep, для macOS mojave я отримую інший вихід (див. тут) , і я намагаюся використовувати це для відключення спливаючого вікна на Mojave. Будь-які ідеї, як це можна було зробити?
QuantumHoneybees

1
Все ще працює Sierra на MBA 2012. Цей нагірний екран дратував, і поставив мене не в змозі купувати ще один Macbook. killall -STOP disxpaced зафіксував це для мене ... Спасибі
mrSidX

10

Я думаю, що це повідомлення є помилкою.

У мене 760 Гб безкоштовно на диску (1 ТБ накопичувач), і все одно отримую це те саме повідомлення щоранку з моменту оновлення до Сьєрри.

Я ввімкнув Optimize Storage (але не зберігати в iCloud).


7
Існує системний процес, який називається deletedочищенням кеш-пам'яті, і коли він це робить, він надсилає CACHE_DELETE_PURGEABLE_UPDATEDрозподілене сповіщення всім програмам. Щоразу, коли це повідомлення надсилається, з’являється повідомлення "Ваш диск майже повний", тому я думаю, що це помилка в якомусь додатку, який слухає це розповсюджене сповіщення.
інкет

1
@inket Як дивиться ці сповіщення?
Майк Бурс

4
Я погодився. Я в Мохаве 10.14, жоден із цих пропозицій нічого не робив. Це справді дратує.
vknyvz

2

Якщо ввімкнути режим "Не турбувати" для сповіщень, сповіщення "Ваш диск майже повний" замовчуватиме. Є і зворотний бік, оскільки це заглушить усі сповіщення.

бічна панель сповіщень із функцією "Не турбувати" увімкнена, під нею зазначено "Вимкнеться завтра"

Це не допоможе, коли основна проблема вашого диска буде занадто повною, якщо вона насправді занадто повна. Крім того, вам може знадобитися знову ввімкнути «Не турбувати». Схоже, це може бути можливим, щоб він залишався у всьому, окрім однієї хвилини дня, але я не впевнений, що розробники планували постійно не турбувати.

На панелі налаштувань сповіщень встановлено значення "Не турбувати" з 12:00 до 23:59

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.