macOS Sierra로 업그레이드 한 후 "디스크가 거의 가득 찼습니다. 스토리지를 최적화하여 공간을 절약하십시오"라는 알림이 표시됩니다.
옵션은 iCloud에 파일을 저장하거나 파일을 자동으로 삭제하거나 수동으로 파일을 삭제하는 것으로 보입니다.
내 문제 / 자극은 440GB 볼륨에서 80GB의 여유 공간이 있다는 것입니다.
질문 : 이 알림을 (반) 영구적으로 침묵 시키거나 알림에 사용되는 임계 값을 변경하는 방법이 있습니까?
macOS Sierra로 업그레이드 한 후 "디스크가 거의 가득 찼습니다. 스토리지를 최적화하여 공간을 절약하십시오"라는 알림이 표시됩니다.
옵션은 iCloud에 파일을 저장하거나 파일을 자동으로 삭제하거나 수동으로 파일을 삭제하는 것으로 보입니다.
내 문제 / 자극은 440GB 볼륨에서 80GB의 여유 공간이 있다는 것입니다.
질문 : 이 알림을 (반) 영구적으로 침묵 시키거나 알림에 사용되는 임계 값을 변경하는 방법이 있습니까?
답변:
"거의 전체"및 "전체"알림을 비활성화하는 해결책은 해당 데몬을 담당하는 데몬을 비활성화하는 것입니다.
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
기본 20GB는 소형 SSD에 비해 너무 높으며 가능한 버그로 인해 매일 한 번이 아니라 매일 경고가 표시되므로, 해결 방법으로 경고가 표시되기 전에 여유 공간을 10GB로 줄일 수 있습니다.
defaults write com.apple.diskspaced minFreeSpace 10
데몬은 시작시에만 prefs를 읽으므로 시스템 무결성을 끈 경우 다시 시작해야합니다.
launchctl unload -w /System/Library/LaunchAgents/com.apple.diskspaced.plist
launchctl load -w /System/Library/LaunchAgents/com.apple.diskspaced.plist
그렇지 않으면 그것을 죽여라 :
killall diskspaced
이러한 디스크 경고에 대한 다른 기본 설정에 관심이있는 경우 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.
그리고 여기 숨겨진 것들이 몇 개 있습니다 :
warningInterval (integer default 0)
lastWarningDate (string e.g. 2017-05-05 16:48:29 +0000)
너무 자세히 보지 않았지만 마지막 경고 날짜를 미래의 날짜로 설정하면 경고가 표시되지 않을 수도 있습니다.
default
최소 공간을 더 낮은 값으로 설정했습니다. 수동으로 변경 한 기본값을 확인하는 방법이 있습니까, 아니면 이와 같은 것을 직접 추적해야합니까?
참조 : 시작 데몬의 값 / 시스템 기본값에 액세스하는 방법
시에라에서는 이 명령 이 작동하지 않았습니다.
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
이 알림은 버그라고 생각합니다.
내 드라이브 (1TB 드라이브)에 760GB의 여유 공간이 있으며 Sierra로 업그레이드 한 후 매일 아침 동일한 알림이 표시됩니다.
스토리지 최적화 (iCloud에 저장하지 않음)를 활성화했습니다.
deleted
캐시를 제거 하는 시스템 프로세스 가 있으며, 필요할 때마다 CACHE_DELETE_PURGEABLE_UPDATED
모든 앱에 분산 알림을 보냅니다 . 해당 알림이 전송 될 때마다 "디스크가 거의 찼습니다"라는 알림이 표시되므로 일부 앱에서 해당 알림을 듣고있는 버그라고 생각합니다.