System administrators often have to deal with situations with sluggish and unresponsive applications either due to high CPU, memory, or network utilization. It is easy to manage resources when a server hosts a single process. However, that is not the case when multiple services are running on a shared server and one needs to track how much resource is being consumed by every running process.