Determine who is monopolizing the CPU

来源:互联网 发布:浏览器地址栏执行js 编辑:程序博客网 时间:2024/05/16 06:47
$ ps -eo pcpu,size:8,user,start_time,pid,args | sort -nk 1 -r |egrep -v "COMMAND|egrep -v|start_time"| head -10 

The ps command displays every process (-e) with user-defined format (e.g.,-o pcpu).

pcpu = CPU usage percentage
size = memory size in kB (with 8 character long field — otherwise the formatting is messed up!)
user = user name
start_time = start time
pid = process ID,
args = command being run

The sort command sorts the lines numerically (-n) in the reverse order (-r) based on the first field (-k 1).

Then egrep -v filters the lines that do not match the header (containing COMMAND), egrep and ps commands themselves.

The head -10 command filters out top 10 lines from the list generated by previoussort. (Note: here -10 is actually redundant since head command prints out top 10 lines by default, but it is there as a reminder that we can print more lines using a number greater than 10  it if there is a need!)

Credit: Nixcraft.