The atsar command can be used to detect performance bottlenecks on Linux systems. It is similar to the sar command on other UNIX platforms. Atsar has the ability to show what is happening on the system at a given moment. It also keeps track of the past system load by maintaining history files from which information can be extracted. Statistics about the utilization of CPUs, disks and disk partitions, memory and swap, tty's, TCP/IP (v4/v6), NFS, and FTP/HTTP traffic are gathered. Most of the functionality of atsar has been incorporated in the atop project.
Atop is an ASCII full-screen performance monitor that is capable of reporting the activity of all processes (even if processes have finished during the interval), daily logging of system and process activity for long-term analysis, highlighting overloaded system resources by using colors, etc. At regular intervals, it shows system-level activity related to the CPU, memory, swap, disks, and network layers, and for every active process it shows the CPU utilization, the memory growth, priority, username, state, and exit code.
Atkins can be used to examine variables, tables, and linked lists in the running kernel. Subcommands can be entered to show formatted kernel administration of processes, open files, incore inodes, page cache buffers, sockets, etc. Memory dumps can be shown using virtual or physical addresses, or using addresses within user space of a particular process. Furthermore stack backtraces can be printed e.g. to determine the reason why a particular process is currently in a wait- state. Note that atkins requires a certain level of knowledge about the Linux kernel.