That's indeed a useful list. lsof alone covers a lot of ground!<p>Mac OS X has a pretty nice set of DTrace scripts built in: <a href="http://dtrace.org/blogs/brendan/2011/10/10/top-10-dtrace-scripts-for-mac-os-x/" rel="nofollow">http://dtrace.org/blogs/brendan/2011/10/10/top-10-dtrace-scr...</a><p>The ones I use the most:<p>* iosnoop: see all disk I/O. especially useful to find disk-chatty/poll-y apps.<p>* execsnoop: see new processes being spawned.<p>* opensnoop: see file opens. especially useful for failed file opens that break an app.<p>* dtruss: see all system calls. get access to the entire OS interaction history of an process (or app).<p>* errinfo: trace failing system calls. where there is smoke...<p>* iotop -- who is using disk<p>There is just a crazy, crazy list of things available, built-in:<p><pre><code> man -k dtrace
</code></pre>
Edit: wow HN formatting sucks so bad. I wish I could make that list more readable, but apparently I can't.
Article mentions lsof but doesn't go too deeply into it. lsof has an absolute _plethora_ of options and has been pretty indispensable to me. i.e. lsof -i (much akin to netstat), -u <user> (all files open by a particular user), etc etc. Check the man page :)
If you haven't seen Brendan Gregg's Linux performance tools page & slides, you should check it out. He explores a wide variety of great stuff, especially perf and ftrace (as mentioned in the article) as well as a few dozen others that he describes in lesser detail: <a href="http://www.brendangregg.com/linuxperf.html" rel="nofollow">http://www.brendangregg.com/linuxperf.html</a>
I will just mention Sysdig for the ones who don't know about it already (<a href="http://www.sysdig.org/" rel="nofollow">http://www.sysdig.org/</a>). It's really the swiss knife of monitoring tools, you can have any kind of information you can think of. If you have not already installed it, give it a try !
can't believe no body talks about ss (socket statistics) - <a href="http://www.cyberciti.biz/tips/linux-investigate-sockets-network-connections.html" rel="nofollow">http://www.cyberciti.biz/tips/linux-investigate-sockets-netw...</a>. It crazy fast compared to netstat
vmstat [1] is also a very useful command. It shows various essential statistics in a very compact one line display and optionally repeats this every [interval]. I often start something running while vmstat is giving me stats in another window every few seconds.<p>[1] <a href="https://www.linode.com/docs/uptime/monitoring/use-vmstat-to-monitor-system-performance" rel="nofollow">https://www.linode.com/docs/uptime/monitoring/use-vmstat-to-...</a>
pidstat! It's like top, except it prints a continuous log of everything that used CPU (or I/O with -d, etc.) since the last sample. It's the only too, I know that can show per-process I/O activity. Requires root access, unlike top.
Nethogs [1] groups bandwidth usage by process. Very handy.
[1] <a href="http://nethogs.sourceforge.net/" rel="nofollow">http://nethogs.sourceforge.net/</a>