I am looking for an utility which can monitor the resource usage (CPU & RAM) by an application.

I have an third party application which runs as service, once started, it will receive requests periodically. Here, I want to monitor the resource usage under varying loads.

I searched and found few tools like nmon, collectd, collectl, atop,monitorix and more but I am not sure how to use them for my purpose. I have installed and they show some statics but I don't know if I have to write some script or plugin to fetch what I want.

It's just two months since I started working on Linux so its look bit intimidating to me.

EDIT: I don't just want to see the current usage. I need to check the historical data and have a report, graphs.


  • Why not use System Monitor?
    – Pilot6
    Sep 4, 2015 at 14:44
  • @Pilot6 I think system monitor shows overall usage in graphs and yes it shows for each process but it does not show history. I want to have a report of the performance. If there's a way to get that from system monitor my job is done. :)
    – Jardanian
    Sep 4, 2015 at 15:06

1 Answer 1


If you install/start collectl, it will begin collecting process stats every minute in /var/log/collectl. you can change the frequency to be shorter/longer if you like but I wouldn't go longer. You'll see a file with the extension raw.gz created every day at midnite.

To look at historical process data just 'play it back' by running the command:

collectl -p /var/log/filename -sZ

which will show all process data for every sample. On the other hand if you run

collectl -p /var/log/filename --top

it will show the top 10 processes by CPU every minute. I'll leave it to you to figure out how to change the number of processes shown as well as which field to use to sort the processes, but as a hint, try

collectl --showtopopt

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.