Unix command to find CPU Utilization

by on January 13, 2007 · 13 comments· LAST UPDATED January 13, 2007

in

Q. I am using Solaris UNIX. How do I find out CPU Utilization under Sun Solaris UNIX?

A. Under Sun Solaris UNIX (and other UNIX oses like HP-UX and *BSD oses) you can use following commands to gather CPU information:

=> sar : System activity reporter

=> mpstat : Report per-processor or per-processor-set statistics

=> ps / top commands

Note: Linux specific CPU utilization information is here. Following information applies to UNIX only.

UNIX sar command examples

General syntax is as follows:
sar t [n]
In the first instance, sar samples cumulative activity counters in the operating system at n intervals of t seconds, where t should be 5 or greater. If t is specified with more than one option, all headers are printed together and the output may be difficult to read.

Task: Display today's CPU activity, use

# sar

Task:Watching system activity evolve i.e. reports CPU Utilization

# sar -u 12 5

Where,

  • -u 12 5: Comparison of CPU utilization; 12 seconds apart; 5 times.

Output includes:

  1. %usr: User time (% of CPU)
  2. %sys: System time (% of CPU)
  3. %wio: Percent of CPU running idle with a process waiting for block I/O
  4. %idle: Percent of CPU that is idle

Task: You can watch CPU activity evolve for 10 minutes and save data

# sar -o file-name 60 10

Task: You can just sar and logout and let the report store in files

# nohup sar -A -o output-file 60 10 1>/dev/null 2>&1 &
Note to display data stored in output-file pass -f option to sar command:
# sar -f output-file

UNIX mpstat example

Type the following command to display per-processor statistics; 12 seconds apart; 5 times
# mpstat 12 5

You can also use traditional ps and top command:
# top
# ps -e -o pcpu -o pid -o user -o args

Read man pages of ps, top, mpstat and sar for more information.

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 13 comments… read them below or add one }

1 varun September 20, 2007 at 9:57 am

i want to learn linux this is very useful and powerful compare to Windows.

Reply

2 Sadequl Ghani February 12, 2008 at 10:15 am

How to install pine in Sun Solaris 10.5 under UNIX env?

Reply

3 lokesh July 9, 2010 at 10:49 am

I have Unix system with 32 CPU and 32 GB memory. My application is installed on Websphere. Looks like only 1 processor is allocated to my application out of 32 cpu. Is it possible to allocate multiple processors for my application. The system always shows 90% CPU idle time and more than 20 G free memory. How can I utilise this memory and cpu time to get better performance.

Reply

4 drdaco September 9, 2010 at 7:40 pm

Lokesh,

Unless your application is already parallelized, there is no way to force it to use more than one CPU. Do you know if your application is Serial or in Parallel?

Reply

5 satish kuchoor April 18, 2011 at 8:01 am

what is the commandin UNIX SOLARIS to list out 5 TOP processors which is consuming more CUP

Reply

6 pravar June 16, 2011 at 9:09 am

the command is ‘top’.

Reply

7 Sneha July 14, 2011 at 5:46 am

How to check the average of last 12 hrs CPU usage

Reply

8 rajesh January 27, 2012 at 11:21 am

i have 42 cpus and 256 gb ram… i want to run my job autometically when my cpus usage is below cetain limit

Reply

9 jocuri actiune March 14, 2012 at 8:50 am

i have 12 cpus and 256 gb ram… i want to run my job when my cpus usage is below cetain limit

Reply

10 satya July 23, 2012 at 1:01 pm

top|grep “Cpu(s):”|awk ‘{ print $2 }’| head -1

Above command will get the cCPU usgae.

Reply

11 joy October 3, 2012 at 8:05 am

top -n 1 | grep Cpu | awk ‘{print $2 }’
Output: 0.2%us,

Reply

12 GOBI NATH January 20, 2013 at 8:35 am

I need Some HC Commands. pls share some useful command’s

Reply

13 satya January 21, 2013 at 11:41 am

top | grep “process name”
it s a simple command to fetch exact process utilization

Reply

Leave a Comment

Tagged as:

Previous Faq:

Next Faq: