sigar - System Info Gather And Reporter goal of this api is provide a portable interface for gathering system information such as: - system memory (total, used, etc.) - system cpu (total, sys, idle, etc.) - system swap (total, free, etc.) - process memory usage (size, vsize, etc.) - process cpu usage (user, sys, etc.) - process credentials (uid, gid, ppid, etc.) - process times (start time, user cpu, system cpu, etc.) - process state (name, state, etc.) - process list (list of active process pids) - process arguments - process environment - filesystem list (list of mounted filesystems: fs type, fs name, etc.) - filesystem usage (total blocks, blocks free, files, etc.) - load average - uptime - netload (packets in, packets out, bytes in, bytes out, etc.) the api used by applications will be the same for all platforms, underneath the platform vendor api(s) are used to fill in the portable sigar structures: - linux => /proc filesystem, native system calls - solaris => kstat api + /proc filesystem - hpux => pstat api - win32 => registry performance "api", sdk calls - aix => /dev/kmem, native system calls