Linux : See CPU usage by a process for the last second

13,506

Solution 1

You could use top -b -d 1 to achieve that for CPU usage. top displays process CPU usage relative to the last output.

Solution 2

cgroups has a whole accounting suite to play with and is lightweight.

https://www.kernel.org/doc/Documentation/cgroups/ https://www.kernel.org/doc/Documentation/cgroups/cpuacct.txt

Share:
13,506

Related videos on Youtube

p3zo
Author by

p3zo

Updated on September 18, 2022

Comments

  • p3zo
    p3zo over 1 year
    vmstat 1
    

    Above will print virtual memory statistics each seconds. It will also show the CPU utilization for last second.

    I have a web server at hand which runs httpd and MySQL. I need to find how much CPU httpd consumed in last second. Like vmstat particularly for httpd.

    I tried this :

    ps -e -o %mem,%cpu,cmd | grep mysql | awk '{memory+=$1;cpu+=$2} END {print memory,cpu}'
    

    But it will show me the ratio of CPU used since the start of the process.

    So, with above, if my process caused a spike and then went to sleep for long time, I won't know it. It's like windows process manager, which shows which process is using how much CPU. I hope I am making my question understandable. I will clarify if anything is missing.