文件或目录追踪需 macOS 授权,受保护位置可能还需完全磁盘访问权限;未签名源码构建无法完成特权文件追踪;不要绕过 Gatekeeper 校验,签名或公证失败时勿强行安装。
从官网下载签名公证的 DMG,拖入 Applications 后启动;源码构建需 Xcode 16+ 与 XcodeGen 2.42.0+,执行 xcodegen generate 后 xcodebuild 构建。macOS 14+,支持 Apple silicon 与 Intel Mac;README 未说明显存或 CPU 运行要求。
macOS 原生磁盘活动排查工具,帮你定位持续读写磁盘的应用、文件和设备
macOS 磁盘监控工具,实时显示哪些进程在持续读写磁盘,并查看 NVMe SMART 健康状态,帮你定位磁盘占用异常。
核心能力
- 按应用对比 CPU、磁盘 I/O、网络、内存与时间趋势
- 查看应用关联的可写目录、打开文件与近期变更
- 按需启动限时文件夹或文件追踪,获取读写证据
- 用 Storage Map 展示卷、开发工具、容器与 AI 数据占用
- 区分应用请求 I/O 与物理设备吞吐,缺失数据标为不可用
容易踩的坑
- v1.3.18FindDiskKiller 1.3.18最新正式版2026-09-28 · 2026-09-28 16:54 UTC
FindDiskKiller 1.3.18
This release improves Storage Map accounting, analysis feedback, and layout stability, and reduces rendering work on the Now dashboard while preserving live sampling and animated transitions.
Storage Map accuracy and controls
- Measure allocated storage using individual file identities, including sparse files and hard links, and reconcile overlapping roots across sources and volumes without counting the same file twice.
- Keep source refreshes consistent with the shared accounting session, reject stale progress, and avoid mixing an earlier scan's totals with current work.
- Resolve symbolic-link roots consistently and surface incomplete provider inventories instead of presenting them as complete results.
- Clarify whether cleanup moves data to Trash or uses a provider's official command, and avoid submitting nested cache targets twice.
- Keep completed results available after stopping analysis; returning to Storage Map no longer restarts a stopped first scan automatically.
Analysis feedback and layout
- Show subtle shimmer on existing analysis text and controls and rolling numeric transitions for real progress, without inserting a new status block or shifting the page.
- Fix overlapping responsive layouts and align table headers with their rows around width breakpoints. Preserve readable capacity units in narrow windows.
- Respect reduced-motion preferences and keep all new interface text localized.
Now performance
- Render disk trend paths and the CPU core grid with native Core Animation layers, preserving animated updates, hover inspection, and accessible data.
- Isolate dashboard updates and remove duplicate chart and numeric layouts to reduce repeated SwiftUI work while retaining the selected sampling interval.
- Stop unnecessary animation when windows are occluded or reduced effects are enabled, and refresh layer appearance when the display or theme changes.
- Reduce repeated root resolution and growing-array copies during storage analysis. Performance reports in the repository describe measurements and their limits; results vary with workload and hardware.
Compatibility
- macOS 14 or later; universal Apple silicon and Intel application.
- Version 1.3.18, build 140.
- v1.3.17FindDiskKiller 1.3.172026-08-20 · 2026-08-20 14:07 UTC
查看更新说明
FindDiskKiller 1.3.17
This release adds a dedicated Directory workspace for diagnosing file activity and guarding multiple folders, while making Storage Map analysis practical on large development machines with deep workspaces and AI-tool data.
Directory I/O diagnostics
- Rank the top ten active subdirectories under a selected folder by requested reads or writes, with each event attributed only to its direct directory so parent totals are not duplicated in the ranking.
- Trace the programs responsible for a directory's activity in real time and inspect read counts, write counts, requested bytes, and individual events.
- Guard multiple directories independently, define expected programs with editable tokens, and surface unexpected program activity by directory.
- Degrade high-volume traces to sampling when needed, expose coverage gaps, and distinguish captured requested bytes from physical disk throughput.
Storage Map performance
- Replace repeated Foundation URL parent traversal in Agent storage hot paths with string-based path classification and reusable ISO 8601 parsing.
- Bound production scan concurrency across storage sources and Agent providers so large analyses no longer launch an unbounded set of disk-heavy workers.
- Aggregate high-cardinality workspace, npm, pnpm, Bun, and Agent roots while excluding nested cache roots from their parents to preserve byte accuracy.
- Prune known dependency and cache subtrees during repository discovery, which
avoids the multi-million-file
node_modulesscan behavior reported in GitHub Issue #11.
Release integrity
- Build 139 is produced as a universal Developer ID release and passes the serial Swift test, lint, signing, notarization, Gatekeeper, and Sparkle verification gates before publication.
- v1.3.16FindDiskKiller 1.3.162026-08-12 · 2026-08-12 13:25 UTC
查看更新说明
FindDiskKiller 1.3.16
This release replaces the generic tree on the Docker and Podman detail pages with focused, searchable engine workspaces, and adds official command-line cleanup for container build cache and the Go module cache.
Container engine detail
- Reorganize Docker and Podman details into four flat sections (images, containers, volumes, build cache) with clickable summary cards showing each section's object count and total footprint.
- Add per-section search, size/name sorting, and status filters: dangling images, running or stopped containers, unreferenced volumes, and in-use build cache.
- Show dangling-image and container state badges inline, keep rows compact, and fold host-side virtual disk storage into a readonly section at the bottom.
- Pre-render every row into a plain display model when the section, query, sort, or filter changes, so scrolling and hovering never run localization or formatting on the main thread; remove tooltip-wrapped controls that could swallow clicks and switch the sort control to a native menu.
- Build cache gains a group-level cleanup entry that runs the official
docker builder prunecommand and removes only unused cache; the Go module cache can now be cleared withgo clean -modcacheafter re-verifying the liveGOMODCACHEpath, and neither operation is preselected automatically.
Release integrity
- Build 138 is produced as a universal Developer ID release and passes the serial Swift test, lint, signing, notarization, Gatekeeper, and Sparkle verification gates before publication.
- v1.3.15FindDiskKiller 1.3.152026-08-11 · 2026-08-11 09:05 UTC
查看更新说明
FindDiskKiller 1.3.15
This release rebuilds Storage Map as a clearer capacity dashboard and makes the Apps workspace substantially more responsive while resizing the window.
Storage Map dashboard
- Recompose the main Storage Map workspace around proportional area tiles, volume capacity summaries, and a scan-ready source table.
- Keep area, volume, and source sections aligned across wide and narrow windows without clipping the bottom content or allowing capacity bands to overflow.
- Adapt the volume presentation cleanly for one, several, or many mounted volumes while preserving readable labels and stable distribution bars.
- Use distinct solid gray fills for proportional tiles without introducing gradients, materials, or effects that add rendering cost.
- Align source headers and rows, standardize the primary action sizes and hover states, and use the native Git branch symbol for Git Workspaces.
Apps resize performance
- Replace duplicated
ViewThatFitsheader candidates with one cached responsive layout, so macOS no longer measures multiple hidden segmented controls during every window resize step. - Resolve process-table column widths once per view update and coalesce small intermediate viewport changes during live resizing, while committing the exact final width as soon as the resize ends.
- Preserve search, sorting, column resizing, pagination, hover details, keyboard behavior, and narrow-window reflow.
- Under an identical Instruments Time Profiler drag path, main-thread running samples fell from 4,557 to 2,602, a 42.9% reduction; the duplicated segmented control layout hotspots disappeared from the post-change capture.
Release integrity
- Build 137 is produced as a universal Developer ID release and passes the serial Swift test, lint, signing, notarization, Gatekeeper, and Sparkle verification gates before publication.
- v1.3.14FindDiskKiller 1.3.142026-08-10 · 2026-08-10 02:38 UTC
查看更新说明
FindDiskKiller 1.3.14
This release corrects the app icon's visual size so it fits naturally beside other applications throughout macOS.
App icon
- Keep the existing disk and magnifier artwork while moving it into the macOS app icon safe area.
- Add balanced transparent margins so the icon no longer appears oversized in Launchpad, Spotlight, Finder, or the Dock.
- Add a deterministic generator for every required ICNS representation, from 16 to 1024 pixels, to keep future icon exports consistent.
Release integrity
- Build 136 passed the serial Swift test suite, lint checks, Xcode archive, and release validation workflow.
- The release is universal, Developer ID signed, notarized, Gatekeeper-validated, and Sparkle-signed before publication.
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
FindDiskKiller is for the moment when your Mac is warm, the disk is busy, and a process list does not explain why. It keeps the investigation in one path: identify the application, inspect the locations it touches, then start a bounded trace when you need direct file evidence.
Follow the evidence
1. Find the application
Compare CPU, disk I/O, network, memory, and time-range trends in the application workspace. Sustained activity is easier to understand when the evidence stays attached to the app that produced it.
2. Follow it to the locations
File Activity shows related locations, writable folders, open files, and recent changes. It gives you a useful next question without pretending that a changed path alone proves who wrote it.
3. Trace only when you need proof
Start a time-bounded folder or file trace explicitly. The trace reports requested reads and writes, active files, rates, and the verified process sessions responsible for the requests.
One workspace for the next question
- Now and Applications show who is active across CPU, disk, and network signals.
- File Activity and folder tracing show where requests are happening and which verified sessions made them.
- Storage Map explains how space is distributed across volumes, applications, developer tools, simulators, containers, and AI Agent data.
- Disks and History connect mounted volumes to physical-device activity and preserve longer-term trends.
AI Storage is explicit and reviewable. Codex and Claude data is measured only after you ask for analysis, attributed where the provider exposes a reliable identity, and never deleted by guessing from a path or writing directly to a database. Active or changed sessions remain protected.
Measurements stay honest
FindDiskKiller keeps measurements with different meanings separate:
- Application I/O is process-requested traffic; it is not the same as physical NAND traffic.
- Physical-device throughput cannot be assigned exactly to one process, so app totals do not need to equal device totals.
- A recently changed location proves that macOS observed a change, not who caused it.
- AI storage attribution is a labelled logical estimate, not a promise of immediate physical reclaim.
Missing, partial, or unsupported evidence is shown as unavailable rather than replaced with zero.
Private by design
Monitoring, analysis, and display happen on your Mac. The current release uploads no process names, file paths, disk serial numbers, or monitoring history, and includes no ads, telemetry, analytics, or third-party tracking SDKs.
Basic CPU, disk, network, volume, and process monitoring needs no administrator approval. macOS may ask for approval only after you explicitly start file or directory tracing; protected locations may also require Full Disk Access. You control when tracing starts and stops.
Read the complete Privacy Policy and Security Policy.
Install
- Download the latest signed and notarized DMG from the official website.
- Open it and drag FindDiskKiller into Applications.
- Launch FindDiskKiller from Applications.
Official releases support Apple silicon and Intel Macs and include a SHA-256 checksum. Do not bypass Gatekeeper if signature or notarization validation fails.
Build and test
Development requires Xcode 16+ and XcodeGen 2.42.0+.
git clone https://github.com/jianyintang/find-disk-killer.git
cd find-disk-killer
xcodegen generate
xcodebuild \
-project FindDiskKiller.xcodeproj \
-scheme FindDiskKillerApp \
-configuration Release \
-destination 'generic/platform=macOS' \
CODE_SIGNING_ALLOWED=NO \
ONLY_ACTIVE_ARCH=NO \
build
make test
The unsigned build covers basic monitoring but cannot complete privileged file tracing, which requires officially signed App and helper identities.
Documentation
- Product and Technical Plan
- Deep File Tracing and SSD Health Plan
- Website Release Checklist
- Contributing
- Third-Party Notices
Support and license
Use GitHub Issues for questions, bugs, and feature requests. Report vulnerabilities privately through GitHub Security Advisories; remove sensitive paths, usernames, and disk serial numbers before submitting diagnostics or screenshots.
FindDiskKiller is open source under the MIT License.