Para monitoramento e análise de desempenho, você tem uma ferramenta semi-programável muito poderosa chamada dtrace .
O dtrace permite construir linha de comando ou pequenos programas que lhe permitirão acompanhar as necessidades das chamadas do sistema.
É um pouco poderoso e complexo. e você pode encontrar alguns exemplos em torno, incluindo um livro muito interessante Desempenho de sistemas: empresa e nuvem
Na página de Ferramentas do DTrace :
DTrace, an implementation of dynamic tracing that is available in different OSes (Solaris, Mac OS X, FreeBSD, ...). DTrace helps troubleshoot problems on servers by providing new detailed views of application and system internals, to a level that was previously difficult or impossible to access. It provides a language to write DTrace scripts that is similar to C and awk and is event based.
# Files opened by process: dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }' # Read bytes by process: dtrace -n 'sysinfo:::readch { @bytes[execname] = sum(arg0); }' # Write bytes by process: dtrace -n 'sysinfo:::writech { @bytes[execname] = sum(arg0); }' # Read size distribution by process: dtrace -n 'sysinfo:::readch { @dist[execname] = quantize(arg0); }' # Write size distribution by process: dtrace -n 'sysinfo:::writech { @dist[execname] = quantize(arg0); }'