View Filesystem Access in Real Time on Mac OS X

20,093

Solution 1

You can use lsof or fs_usage in Terminal. lsof can be quite powerful. If it's about a specific process, you can try sampling it in Activity Monitor.

For a GUI tool, my recommendation is fseventer:

enter image description here

enter image description here

enter image description here

More GUI-oriented utilities, which I haven't used:

FileMon

enter image description here

FS Spy

enter image description here

Solution 2

Less visual

https://diigo.com/0xcp0 for highlights from Brendan's blog » Top 10 DTrace scripts for Mac OS X (2011-10-10).

More visual

For more modern operating systems that are incompatible with fseventer, there's Apple Xcode Instruments –

selecting the File Activity template

Instruments in the background, Terminal in front

– powerful, but (compared to fseventer) in some cases, Instruments may be too heavyweight.

Solution 3

For viewing what files are accessed in real time you can leverage fs_usage part of the FSEvents feature in Mac OS X or even dtrace itself.

Usage: sudo fs_usage [PID].

For more info, check out the man page

Share:
20,093

Related videos on Youtube

slhck
Author by

slhck

Updated on September 17, 2022

Comments

  • slhck
    slhck over 1 year

    Had a sysinternals tool (filemon) for that, but now I can find something similar for the mac.

    I'm a developer and I basically want to debug "file not found" or "wrong permissions" errors.

  • occulus
    occulus about 11 years
    +1 very nice answer. Btw, I've just tried FileMon and the filtering doesn't seem to work, which makes it pretty useless. fseventer is very nice.
  • mohit
    mohit about 9 years
    fs_usage is my favorite. I wrote about it on my blog post @ mohit.io/blog/fs_usage-trace-file-system-calls-on-mac-os-x where I was stuck with Outlook that had hung and I wanted to know what it was doing on my Mac.
  • Neumann
    Neumann almost 9 years
    fseventer claims "10.10 Yosemite is classified as unsupported till further notice". is there an updated answer? are there new recommendations?