The title really should read system or resource monitoring, but performance monitoring seems to be the industry buzzword for checking up on what’s using what resource.
First on the list has to be top. This is a great tool for monitoring CPU and Memory utilization by process. As its name suggests, the highest resource users are listed at the top.
The sort field can be changed using the < and > to move it left and right. Display of idle processes can be toggled with i. As well as monitoring, processes can be killed using k.
Next up is iostat. This is part of the Debian Sysstat package. It provides details on CPU and Disk utilization, although top does CPU in a more granular manner. The good bit about iostat is the disk utilization broken down by physical device and partition. To get details use iostat -x. It’s interesting to note that two disks in a raid set can have significantly different loadings.
A good simple one is vmstat which provides an instant view of how much memory is being swapped out. Too much of this and it’s time to start thinking about adding memory to the system.
Last on my (far from complete) list is lsof. This provides a huge list of all open files on the system. Better use this one with grep to avoid everything useful scrolling off the screen. Very useful when you’re trying to workout what process is keeping a file open.