Tangents
Confession time. When sitting down at the computer to do something, especially something that is not work related, I have a real tendency to go off on tangents. Following connections to interesting sounding web-pages, googling for the answers to niggling problems, generally following connections that, if truth be told, don’t need to be followed at that instant. It’s amazing what you can find though. Case in point.
Browsing my del.icio.us inbox, I come across a nice list of MacOS X Hacking Tools. Most of which are already lurking in my /usr/bin
and /usr/sbin
directories.
Scanning the list, I come across fs_usage
, a tool that “presents an ongoing display of system call usage information pertaining to file system activity”. Fire up a terminal window, type sudo fs_usage
and watch in amazement as the seemingly idle system is obviously not very idle. The screen is just whizzing by. And from the manpage, it seems that fs_usage is already filtering certain processes from the list (like Terminal itself, a few others).
Looking at the output more closely, the main culprit is WindowServer calling CACHE_HIT
. I assume this is normal, but what gets my attention more than this is the fact that Palm Desktop is calling getattrlist
about 20 times a second.
At this point I think, hmm, what the hell does getattrlist
do anyway? man getattrlist
turns up nothing.
Next step Google of course, and first hit is an Apple Tech Note on how to install the getattrlist man pages. Duh, thanks! Second hit is a mailing list archive message which contains exactly the information I need:
getattrlist is a POSIX constuct that noone but Apple seems to have bothered to implement. It’s like a getattr on steroids where the user process can ask about anything or nothin[g] regarding a file system object, and get all the answers in a big chunk
Hmm, seems reasonable, if not totally authoritative. So from the looks of it Palm Desktop is polling certain files. Well no matter, it is time to uninstall that nonsense anyway.
However, I couldn’t help noticing the mailing list to which that message was posted: it was for the DarwinCoda project. This is a very exciting project, and Coda support has been on the top of my wishlist for MacOS X ever since I read about it being used in an old byte.com linux column (subscription required dammit).
So there you go, probably not a huge journey by most standards, but worth it. If you’ve found this blog entry by following tangents, please comment below!
3 Comments