Membungkam pemberitahuan "Disk Anda hampir penuh"

117

Setelah memutakhirkan ke macOS Sierra, saya mendapat pemberitahuan bahwa "Disk Anda hampir penuh. Hemat ruang dengan mengoptimalkan penyimpanan.":

pemberitahuan macOS

Pilihannya tampaknya untuk menyimpan file saya di iCloud, secara otomatis menghapus file, atau menghapus file secara manual:

masukkan deskripsi gambar di sini

Masalah saya / iritasi adalah bahwa saya memiliki 80GB bebas dari volume 440GB saya.

Pertanyaannya: apakah ada cara untuk membungkam pemberitahuan ini dengan cara (semi-) permanen , atau mengubah ambang yang digunakan untuk notifikasi?

Mike Boers
sumber
10
Hal yang sama di sini: "Anda hanya memiliki penyimpanan 17,57 GB. Hemat ruang dengan mengoptimalkan penyimpanan." pada penyimpanan flash Macbook Pro saya. Konyol.
kenorb
Beberapa saran, meskipun beberapa membuat saya ngeri. Tetapi, ketika hal-hal menjengkelkan, kadang-kadang Anda harus mencobanya.
Zonker.in.Geneva
Pembaruan Mojave ke 10.14.1 tampaknya telah memperbaiki bug ini.
garageàtrois
3
@ garageàtrois Sejak meningkatkan versi ke Mojave, saya mendapatkan notifikasi lebih sering yaitu setiap beberapa menit!
Bhav
Dan Anda mengosongkan sampah?
Lisa Ann

Jawaban:

114

Solusi untuk menonaktifkan notifikasi "hampir penuh" dan "penuh" adalah dengan menonaktifkan daemon yang bertanggung jawab untuknya:

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

atau

launchctl stop com.apple.diskspaced

Atau, jika Anda hanya ingin mencegah tampilan "hampir penuh" begitu sering maka Anda dapat menurunkan ambang GB melalui:

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

20GB default terlalu tinggi untuk SSD kecil dan bug yang mungkin menyebabkan peringatan ditampilkan setiap hari, bukan hanya sekali, sehingga sebagai solusi Anda dapat menurunkan ruang kosong sebelum peringatan muncul, misalnya hingga 10GB:

defaults write com.apple.diskspaced minFreeSpace 10

Daemon hanya membaca prefs-nya saat startup sehingga Anda harus memulai ulang jika integritas sistem Anda dimatikan:

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

Kalau tidak bunuh saja:

killall diskspaced

Jika Anda tertarik dengan preferensi lain untuk peringatan disk ini, Anda dapat melihatnya menggunakan parameter bantuan:

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

Dan inilah beberapa yang tersembunyi:

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

Saya tidak melihat terlalu dekat tetapi mungkin menetapkan tanggal peringatan terakhir ke tanggal di masa depan juga akan mencegah tampilan peringatan.

jahat
sumber
10
osX sangat menyedihkan bahwa Anda harus menggunakan terminal untuk mematikannya.
Jamie Hutber
16
Operasi tidak diizinkan saat Perlindungan Integritas Sistem dijalankan
Raptor
21
"bug yang mungkin menyebabkan peringatan ditampilkan setiap hari" Tambang saya muncul setiap 5 detik **. Jawaban ini sangat membantu.
user3247189
3
Ya dengan Mojave, peringatan ini muncul setiap 20 detik untuk saya, bukan setiap hari. Mungkin jika Xcode akan berhenti secara otomatis menginstal file simulator senilai 20 gb dengan setiap pembaruan, ini tidak akan menjadi masalah. Alas ... @malhal Saya telah mengatur defaultruang min ke nilai yang lebih rendah. Apakah ada cara untuk melihat default mana yang telah Anda ubah secara manual, atau haruskah saya melacak sesuatu seperti ini sendiri?
Jake T.
8
Kami membutuhkan jawaban yang diperbarui untuk Mojave
zcahfg2
40

macOS Mojave

Lihat: Cara mengakses nilai daemon peluncuran / nilai default sistem

macOS Sierra

Di Sierra , perintah ini tidak berhasil untuk saya:

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

karena Perlindungan Integritas Sistem terlibat, sehingga untuk menghentikan diskspacedlayanan, jalankan:

launchctl stop com.apple.diskspaced

Catatan: Gunakan startuntuk memulai lagi atau listuntuk melihat detail (mis PID. Nya).

Jika layanan memulai kembali setelah beberapa saat, coba perintah berikut untuk menghentikannya:

killall -STOP diskspaced

Mengubah level dan interval peringatan

Untuk mengubah pengaturan default pengguna, berikut adalah beberapa contoh perintah:

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

Kemudian mulai kembali layanan:

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

Untuk melihat pengaturan yang dimuat, jalankan diskspaced, misalnya:

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

Catatan

Saya percaya parameter yang disebutkan oleh @malhal tidak ada lagi. Berikut adalah perintah sederhana untuk menguji ini:

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

Penyelesaian masalah

Periksa log dengan perintah ini untuk setiap peringatan:

grep com.apple.diskspaced /var/log/system.log
kenorb
sumber
2
Menjalankan perintah-perintah itu pada Mojave tampaknya tidak berpengaruh.
Jonathan Allard
@kenorb, jadi apa yang dilakukan perintah grep terakhir, untuk macOS mojave saya mendapatkan output yang berbeda (lihat di sini) , dan saya mencoba menggunakannya untuk menonaktifkan popup pada Mojave. Adakah ide bagaimana itu bisa dilakukan?
QuantumHoneybees
1
Masih menjalankan Sierra pada MBA 2012. Layar cerewet itu mengganggu, dan menempatkan saya pada posisi untuk tidak ingin membeli Macbook lain. killall -STOP diskspace memperbaiki ini untuk saya ... Terima kasih
mrSidX
10

Saya pikir pemberitahuan ini adalah bug.

Saya memiliki 760GB gratis di drive saya (drive 1TB) dan masih mendapatkan notifikasi yang sama ini setiap pagi sejak meningkatkan ke Sierra.

Saya mengaktifkan Optimize Storage (tetapi bukan Store di iCloud).

Will Henderson
sumber
7
Ada proses sistem yang disebut deletedpembersihan cache dan kapan pun itu terjadi, ia mengirimkan CACHE_DELETE_PURGEABLE_UPDATEDpemberitahuan yang didistribusikan ke semua aplikasi. Setiap kali pemberitahuan itu dikirim, pemberitahuan "Disk Anda hampir penuh" muncul, jadi saya pikir itu adalah bug di beberapa aplikasi yang mendengarkan pemberitahuan yang didistribusikan itu.
inket
1
@inket Bagaimana orang menonton notifikasi ini?
Mike Boers
4
Setuju. Saya pada Mojave 10.14, tidak ada yang menyarankan melakukan apa pun. Ini sangat menjengkelkan.
vknyvz
2

Mengaktifkan mode Jangan Ganggu untuk pemberitahuan akan membungkam pemberitahuan "Disk Anda hampir penuh". Ada kerugian karena ini akan membungkam semua notifikasi.

pemberitahuan sidebar dengan tidak terganggu dihidupkan, ia mengatakan "Akan matikan besok" di bawahnya

Ini tidak akan membantu masalah mendasar dari disk Anda terlalu penuh jika sebenarnya terlalu penuh. Selain itu, Anda mungkin perlu mengaktifkan Jangan Ganggu lagi. Sepertinya dimungkinkan untuk membuatnya tetap menyala untuk semua kecuali satu menit dalam sehari, tapi saya tidak yakin para pengembang bermaksud Jangan Ganggu digunakan terus-menerus.

panel preferensi notifikasi disetel agar Jangan Ganggu dari jam 12 pagi hingga 11:59 malam

dwightk
sumber