Effortless monitoring of MacBook storage in real-time.
Project details
MacBook Storage Monitor is a native macOS utility designed for Apple Silicon that checks your internal storage at login and every half hour. With a user-friendly desktop application, it allows easy browsing of monitoring history and detailed insights into storage health, ensuring optimal performance without needing to keep Terminal open.
MacBook Storage Monitor is a native macOS utility specifically designed for Apple Silicon devices, providing users with robust monitoring of internal APFS container storage. This application checks the state of available storage at login and throughout the day (every half hour), with no need for an open Terminal window. Leveraging the capabilities of launchd, the app seamlessly coalesces missed calendar checks after waking from sleep, ensuring continuous monitoring without user intervention.
Open Storage Monitor.app located in /Applications to access a user-friendly interface that allows for easy browsing of your storage monitoring history. The application is a versatile macOS app featuring a Dock icon and supports light and dark appearance modes. Importantly, the background worker—MacBook Storage Monitor.app—functions independently to provide notifications, meaning the monitoring process continues even if the desktop app is closed.
Real-Time Monitoring: View real time metrics including physical free, used, and total storage capacity, as well as pressure changes and recorded scans.
Event History: A sortable table captures event history, where users can inspect detailed records, search, and copy events seamlessly.
Analyzing Storage: The application offers detailed insights into potential causes for storage changes, such as Virtual memory growth and file allocations. Evidence class ranking (Confirmed, Likely, Possible, Unknown) ensures clarity in cause attribution, while relevant supporting evidence is compiled for user review.
Technical Insights: Technical details provide an overview of APFS status, memory allocation, and raw command outputs, allowing advanced users to dive deep into storage diagnostics.
Flexible Filters: Users can apply multiple filters based on event type, time range, severity, and text search to customize their view of storage events.
The Live Capacity feature provides a dynamic reading of the APFS container's free and total space, refreshing every minute while the application window is active. This live monitoring ensures that users are always aware of their current storage conditions, with any reported observations labeled distinctly for clarity.
The application includes a comprehensive notifications system to alert users when available storage drops below specific thresholds. For example:
| Condition | Severity |
|---|---|
| Available capacity drops at least 3 GB from the previous reading | Warning |
| Available capacity falls below 25 GB | Warning |
| Available capacity drops below 15 GB | Critical |
Notifications are customized based on the severity of the condition, and duplicate notifications are suppressed to prevent alert fatigue.
The monitor is adept at identifying root causes of storage consumption through systematic diagnostics, capturing detailed measurements without extensive overhead. This includes tracking folder growth, monitoring swap space usage, and summarizing directory changes for enhanced storage management.
The tool offers extensive coverage across the entire startup Data volume, supporting the tracking of numerous file and folder paths to ensure a complete understanding of where space is consumed. Users can customize monitored folders through user-defined settings, allowing flexibility for unique storage configurations.
For developers interested in contributing or customizing the application, the repository includes scripts for building and testing the application, alongside detailed documentation on various functionalities and configurations.
For more information on specific operation commands or developer setup, refer to the complete README included in the repository.
Comments
0Start the conversation
Share the first comment.