18

Click here to load reader

Linux blktrace mon

Embed Size (px)

DESCRIPTION

Linux blktrace mon

Citation preview

Page 1: Linux blktrace mon

AboutForumHowtos & FAQsLow graphicsShell ScriptsRSS/Feed

nixcraft - insight into linux admin work

How do I Find Out Linux CPU Utilization?

by Vivek Gite on April 6, 2006 · 120 comments

Whenever a Linux system CPU is occupied by a process, it is unavailable for processing other requests. Rest of pending requests must wait tillCPU is free. This becomes a bottleneck in the system. Following command will help you to identify CPU utilization, so that you can troubleshootCPU related performance problems.

Finding CPU utilization is one of the important tasks. Linux comes with various utilities to report CPU utilization. With these commands, you willbe able to find out:

* CPU utilization* Display the utilization of each CPU individually (SMP cpu)* Find out your system's average CPU utilization since the last reboot etc* Determine which process is eating the CPU(s)

Old good top command to find out Linux cpu load

The top program provides a dynamic real-time view of a running system. It can display system summary information as well as a list of tasks currently being managedby the Linux kernel.The top command monitors CPU utilization, process statistics, and memory utilization. The top section contains information related to overall system status - uptime,load average, process counts, CPU status, and utilization statistics for both memory and swap space.

Top command to find out Linux cpu usage

Type the top command:$ top

Output:

You can see Linux CPU utilization under CPU stats. The task’s share of the elapsed CPU time since the last screen update, expressed as a percentage of total CPU time.In a true SMP environment (multiple CPUS), top will operate in number of CPUs. Please note that you need to type q key to exit the top command display.

The top command produces a frequently-updated list of processes. By default, the processes are ordered by percentage of CPU usage, with only the "top" CPUconsumers shown. The top command shows how much processing power and memory are being used, as well as other information about the running processes.

Find Linux CPU utilization using mpstat and other tools

Please note that you need to install special package called sysstat to take advantage of following commands. This package includes system performance tools for Linux(Red Hat Linux / RHEL includes these tools by default).

# apt-get install sysstat

Use up2date command if you are using RHEL:# up2date sysstat

Display the utilization of each CPU individually using mpstat

If you are using SMP (Multiple CPU) system, use mpstat command to display the utilization of each CPU individually. It report processors related statistics. Forexample, type command:

Page 2: Linux blktrace mon

# mpstat Output:

Linux 2.6.15.4 (debian) Thursday 06 April 2006

05:13:05 IST CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s05:13:05 IST all 16.52 0.00 2.87 1.09 0.07 0.02 0.00 79.42 830.06

The mpstat command display activities for each available processor, processor 0 being the first one. Global average activities among all processors are also reported. Thempstat command can be used both on SMP and UP machines, but in the latter, only global average activities will be printed.:# mpstat -P ALL

Output:

Linux 2.6.15.4 (wwwportal1.xxxx.co.in) Thursday 06 April 2006

05:14:58 IST CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s05:14:58 IST all 16.46 0.00 2.88 1.08 0.07 0.02 0.00 79.48 835.9605:14:58 IST 0 16.46 0.00 2.88 1.08 0.07 0.02 0.00 79.48 835.9605:14:58 IST 1 15.77 2.70 3.17 2.01 0.05 0.03 0.00 81.44 822.54

Another output from my HP Dual Opteron 64 bit server:# mpstat -P ALLOutput:

Linux 2.6.5-7.252-smp (ora9.xxx.in) 04/07/06

07:44:18 CPU %user %nice %system %iowait %irq %soft %idle intr/s07:44:18 all 3.01 57.31 0.36 0.13 0.01 0.00 39.19 1063.4607:44:18 0 5.87 69.47 0.44 0.05 0.01 0.01 24.16 262.1107:44:18 1 1.79 48.59 0.36 0.23 0.00 0.00 49.02 268.9207:44:18 2 2.19 42.63 0.28 0.16 0.01 0.00 54.73 260.9607:44:18 3 2.17 68.56 0.34 0.06 0.03 0.00 28.83 271.47

Report CPU utilization using sar command

You can display today’s CPU activity, with sar command:# sar

Output:

Linux 2.6.9-42.0.3.ELsmp (dellbox.xyz.co.in) 01/13/2007

12:00:02 AM CPU %user %nice %system %iowait %idle12:10:01 AM all 1.05 0.00 0.28 0.04 98.6412:20:01 AM all 0.74 0.00 0.34 0.38 98.5412:30:02 AM all 1.09 0.00 0.28 0.10 98.5312:40:01 AM all 0.76 0.00 0.21 0.03 99.0012:50:01 AM all 1.25 0.00 0.32 0.03 98.4001:00:01 AM all 0.80 0.00 0.24 0.03 98.92..........04:40:01 AM all 8.39 0.00 33.17 0.06 58.3804:50:01 AM all 8.68 0.00 37.51 0.04 53.7805:00:01 AM all 7.10 0.00 30.48 0.04 62.3905:10:01 AM all 8.78 0.00 37.74 0.03 53.4405:20:02 AM all 8.30 0.00 35.45 0.06 56.18Average: all 3.09 0.00 9.14 0.09 87.68

Comparison of CPU utilization

The sar command writes to standard output the contents of selected cumulative activity counters in the operating system. The accounting system, based on the values inthe count and interval parameters. For example display comparison of CPU utilization; 2 seconds apart; 5 times, use:# sar -u 2 5

Output (for each 2 seconds. 5 lines are displayed):

Linux 2.6.9-42.0.3.ELsmp (www1lab2.xyz.ac.in) 01/13/2007

05:33:24 AM CPU %user %nice %system %iowait %idle05:33:26 AM all 9.50 0.00 49.00 0.00 41.5005:33:28 AM all 16.79 0.00 74.69 0.00 8.5205:33:30 AM all 17.21 0.00 80.30 0.00 2.4905:33:32 AM all 16.75 0.00 81.00 0.00 2.2505:33:34 AM all 14.29 0.00 72.43 0.00 13.28Average: all 14.91 0.00 71.49 0.00 13.61

Where,

-u 12 5 : Report CPU utilization. The following values are displayed:%user: Percentage of CPU utilization that occurred while executing at the user level (application).%nice: Percentage of CPU utilization that occurred while executing at the user level with nice priority.%system: Percentage of CPU utilization that occurred while executing at the system level (kernel).%iowait: Percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request.%idle: Percentage of time that the CPU or CPUs were idle and the system did not have an outstanding disk I/O request.

To get multiple samples and multiple reports set an output file for the sar command. Run the sar command as a background process using.# sar -o output.file 12 8 >/dev/null 2>&1 &

Better use nohup command so that you can logout and check back report later on:# nohup sar -o output.file 12 8 >/dev/null 2>&1 &

All data is captured in binary form and saved to a file (data.file). The data can then be selectively displayed ith the sar command using the -f option.# sar -f data.file

Task: Find out who is monopolizing or eating the CPUs

Finally, you need to determine which process is monopolizing or eating the CPUs. Following command will displays the top 10 CPU users on the Linux system.# ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10

OR# ps -eo pcpu,pid,user,args | sort -r -k1 | less

Page 3: Linux blktrace mon

Output:

%CPU PID USER COMMAND 96 2148 vivek /usr/lib/vmware/bin/vmware-vmx -C /var/lib/vmware/Virtual Machines/Ubuntu 64-bit/Ubuntu 64-bit.vmx -@ "" 0.7 3358 mysql /usr/libexec/mysqld --defaults-file=/etc/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --socket=/var/lib/mysql/mysql.sock 0.4 29129 lighttpd /usr/bin/php 0.4 29128 lighttpd /usr/bin/php 0.4 29127 lighttpd /usr/bin/php 0.4 29126 lighttpd /usr/bin/php 0.2 2177 vivek [vmware-rtc] 0.0 9 root [kacpid] 0.0 8 root [khelper]

Now you know vmware-vmx process is eating up lots of CPU power. ps command displays every process (-e) with a user-defined format (-o pcpu). First field is pcpu(cpu utilization). It is sorted in reverse order to display top 10 CPU eating process.

iostat command

You can also use iostat command which report Central Processing Unit (CPU) statistics and input/output statistics for devices and partitions. It can be use to find outyour system's average CPU utilization since the last reboot.# iostatOutput:

Linux 2.6.15.4 (debian) Thursday 06 April 2006

avg-cpu: %user %nice %system %iowait %steal %idle 16.36 0.00 2.99 1.06 0.00 79.59

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtnhda 0.00 0.00 0.00 16 0hdb 6.43 85.57 166.74 875340 1705664hdc 0.03 0.16 0.00 1644 0sda 0.00 0.00 0.00 24 0

You may want to use following command, which gives you three outputs every 5 seconds (as previous command gives information since the last reboot):$ iostat -xtc 5 3

GUI tools for your laptops/desktops

Above tools/commands are quite useful on remote server. For local system with X GUI installed you can try out gnome-system-monitor. It allows you to view andcontrol the processes running on your system. You can access detailed memory maps, send signals, and terminate the processes.$ gnome-system-monitor

(Click to enlarge image)

In addition, the gnome-system-monitor provides an overall view of the resource usage on your system, including memory and CPU allocation.

(Click to enlarge image)

Page 4: Linux blktrace mon

Further readings

For more information and command option please read man pages of top, iostat, mpstat, sar, ps commands.

Featured Articles:

20 Linux System Monitoring Tools Every SysAdmin Should Know20 Linux Server Hardening Security TipsMy 10 UNIX Command Line MistakesThe Novice Guide To Buying A Linux Laptop 10 Greatest Open Source Software Of 2009Top 5 Email Client For Linux, Mac OS X, and Windows UsersTop 20 OpenSSH Server Best Security PracticesTop 10 Open Source Web-Based Project Management SoftwareTop 5 Linux Video Editor Software

{ 119 comments… read them below or add one }

1 Yuchi April 7, 2006

Sounds interesting

Reply

2 Anonymous April 7, 2006

Never knew the mpstat command. Thanks for post. You got kick ass info :D

Reply

3 Anonymous July 27, 2006

So you have 4 processors shown on your dual opteron machine which means that 2 of them are virtual. How do youfilter these out when you want to see onlyraw info on real processor utilization?

Thanks

Nikola

Reply

4 Anonymous July 27, 2006

I need to explain better i think:so i have 4 processors and what if only 2 are working and i still see 4 because of additional virtual processors? How do i check that? Plz answer its reallyimportant to me.

Thanks in advance,

Nikola

Reply

5 nixcraft July 28, 2006

If cpu entry not present in /proc/interrupts file your cpu is offline or not working for some causes:less /proc/interrupts

You can also goto directory /sys/devices/system/cpu (note following commands needs special configuration option via kernel. If it is not complied it will not workfor you):cd /sys/devices/system/cpu

Type ls command to see all cpusls

Output:cpu0 cpu1 cpu2 cpu3 cpu4 cpu5 cpu6 cpu7

Inside this directory you will see entry for online or offline CPU

Hope this helps

Reply

6 Ashok November 7, 2006

Thanks for the commands – i really could use the iostat command and get some answers.. Thanks Again !! :)

Reply

7 nixcraft November 8, 2006

Ashok,

I am glad – commands and help presented here helping out.

Appreciate your post.

Reply

Page 5: Linux blktrace mon

8 chadi December 29, 2006

hi all i have a prob i use top and i have mysql has a %cpu 99.5 and i use mpstat but i have not the same results why with us and sy and nii have smp linux rehl3

Reply

9 nixcraft December 29, 2006

MySQL is generally use more disk i/o; use iostat to get detailed information. You need to optimize mysql and also get fast SCSI hard disk.

Reply

10 Planet Malaysia January 15, 2007

Yeah! Now I know new command “mpstat”

Reply

11 Pádraig Brady January 15, 2007

This is the command I use to see who’s using CPU:

ps -e -o pcpu,cpu,nice,state,cputime,args –sort pcpu | sed ‘/^ 0.0 /d’

That and more here:http://www.pixelbeat.org/cmdline.html#monitor

Reply

12 nixcraft January 15, 2007

Pádraig,

Good syntax, just to list top 10, sorting should be -pcpu and pipe to head -10

ps -e -o pcpu,cpu,nice,state,cputime,args –sort -pcpu | sed ‘/^ 0.0 /d’ | head -10

Appreciate your post.

Reply

13 Markus Sorensson January 15, 2007

Ok, I can measure the cpu utilization… but what is the criteria to determine when a cpu is overloaded? Please let me know!

Reply

14 SpongeMucker January 15, 2007

Good Article. However, you neglected to mention vmstat. One of the nice things about vmstat is that it provides an insight into how the queues are filling up oneach processor. Also, vmstat comes with just about every default install of UNIX and Linux that I have ever seen, so there are no additional files which need to beinstalled. vmstat is also very scriptable, if you need to log the cpu usage at intervals of time. Hope that this helps. Thanks again for a good article.

Reply

15 jon January 15, 2007

Just FYI – on fedora machines, you’ll need to:

$ yum install sysstat

To install the sysstat package which contains (most of) the binaries listed in this article.

Reply

16 nixcraft January 15, 2007

@Markus when you see CPU load >=70%

@SpongeMucker: yup vmstat is good tool => http://www.cyberciti.biz/tips/linux-resource-utilization-to-detect-system-bottlenecks.html. I will update post withvmstat link.

@ jon : thanks for pointing out fedora core issue.

Appreciate all of your posts.

Reply

17 JM January 15, 2007

htop works great for me. It’s a little easier on the eyes than regular old top.

Reply

18 Santiago January 21, 2007

You can use the “atop” utility(Monitor for system resources and process activity)

Reply

19 nixcraft January 22, 2007

Page 6: Linux blktrace mon

19 nixcraft January 22, 2007

Santiago/jm

Yup, atop/htop is also useful.

Appreciate your posts.

Reply

20 drown February 1, 2007

yes its very good explaination..but how can one get this information like cpu usage into a program.. say C code?..say i wanted cpu usage into my float variable..please help.. thnks in advance…

Reply

21 nixcraft February 1, 2007

Drown,

I am not sure about C API.

Reply

22 blackice February 5, 2007

@19. nixcraft

Thanks, htop worked great for debian sarge, mpstat didn’t worked very well.

Reply

23 Puneet April 16, 2007

Thanks man…helped a lot..:)

~Puneet

Reply

24 Vishal June 6, 2007

Thanks a lot it is really helpful.!!

Reply

25 Diptanjan June 12, 2007

This is really a wonderful article…

Learned a lot from this… And thank you all the readers for posting valuable comments with different commands.. this is really helpful for people like me.

Diptanjan

Reply

26 Ramanath June 29, 2007

This is a nice and informative article.Can anyone suggest any command to monitor a process is using which cpu in SMP environment. I mean suppose I am running sshd. How do I know it is usingcpu0 or cpu1 ?

Reply

27 benny July 6, 2007

Thanks a lot for the post. Its really helpful.

Reply

28 MG July 18, 2007

very good information…it would be good if we can have at least some hints on whether the stats shown is still ok or need to check on other items

Reply

29 colbert August 24, 2007

thanks for the tips. its good read for my day to day job

Reply

30 invisible September 13, 2007

Really good article.

I have a following question – what is the best way to find out which process(es) was(were) using cpu(s) for certain period of time based on cpu utilizationthreshold?

Let’s imagine that we want to find all processes triggering CPU utilization beyond 70% for more then 10 seconds during last 24 hours and dump such aninformation in a log with the snapshots of time of occurrence, process ID and command.

Page 7: Linux blktrace mon

information in a log with the snapshots of time of occurrence, process ID and command.

Anyone has an idea how to setup such a monitoring in an elegant way?

Thanks,–invisible

Reply

31 laga October 2, 2007

Thanks for the mpstat command!

Reply

32 zhili wang October 8, 2007

One of our server has four CPUs, but when I use mpstat or top, I can only see one CPU. In the directory /sys/devices/system/cpu, only show cpu0. But we dohave 4 cpu, and OS admin told me all four cpu are runing. How do I know all four cpus are runing properly and I can use it.

Thanks for any help.

Reply

33 vivek October 8, 2007

zhili,

Install SMP Linux kernel RPM / package and reboot the box. Run top or cat /proc/cpuinfo command to confirm CPU count

Reply

34 zhili wang October 8, 2007

my server has four CPUs, but when I issue vmstat and top, I can only see one cpu. In the directory:/sys/devices/system/cpu, I can see only one cpu – cpu0. WhenI issue command:less /proc/interrupts, it only show one cpu. But there are do have four cpu on the server, should I do something to configure it, what should I do.

Thanks for any help.

Reply

35 zhili wang October 8, 2007

Vivek,

Thank you for your help, I will let Linux Admin here do it.

Reply

36 vivek October 8, 2007

>should I do something to configure it, what should I do

Yup, ask your admin to install Linux SMP kernel and boot into the same using Grub. Once booted using SMP, run uname -a to verify that SMP kernel loaded.Also go through /proc/cpuinfo file.less /proc/cpuinfo

Reply

37 zhili wang October 8, 2007

The Linux Admin told me kernel-smp are package for free linux and some old version, we runing advanced linux version and do not need it, it confused me. Is ittrue?

Reply

38 zhili wang October 10, 2007

Thanks for all the help.

It is clear now, we did not install smp linux kernel, so there is only one cpu working. Could any one tell me when install Redhat linux on multip cpu server, it willautomatically configure to smp kernel or have to maually select the kernel?

Reply

39 vivek October 10, 2007

zhili,

In most cases it is installed by default but sometime installer cannot detect it and it will install normal kernel. Run yum / up2date command to install SMP kernelfrom RHN.

Reply

40 zhili wang October 11, 2007

Vivek,

It is very helpful. Thank you.

Reply

41 olfat November 4, 2007

Page 8: Linux blktrace mon

i find this howto article very useful. thank you!

Reply

42 ben November 16, 2007

is there a GUI version of a CPU usage monitor for KDE? im using fedora 8

Reply

43 Daton December 5, 2007

Hi, I have a question about iostat command. How can I see the %utilization of disk not %utilization of CPU? I have found out from some of the forums and manpage for iostat that the disk utilization report ought to show one parameter called %util. And also somewhere I have found a flag -D to show it but I cannot findanywhere how to configure my command so that it shows this %util field.

Any help is highly appreciated. Thank you.

Reply

44 vivek December 5, 2007

Daton,

Sometime man page can be confusing..just run iostat -d -x to display disk utilization including %util. It will show TPS (number of transfers per second ) andamount of data read and/or wrtite to/from the device. Try following examples,iostat -d -x

iostat -d -m -x

iostat -x -d 2

All you have to do is pass -x option.

Reply

45 Madivanan December 7, 2007

everything in a nutshell..excellent Good info

Reply

46 Siddharth December 8, 2007

Very useful information and very well presented! Thanks!

Reply

47 uncleremus January 10, 2008

You forgot the nicest monitoring tool of them all: gkrellm. Small, fast, nice-looking, must have. Check it out.

Reply

48 Vitaly January 20, 2008

when we see that certain process takes 10% of CPU and we have 2 CPU server, does it mean – it is 10% from one CPU (==5% of server CPU power ) or 10%from server CPU power (==20% of one CPU)

Reply

49 Jamie January 21, 2008

HI nice tute!

Same question as Vitaly above.

Ina 2 cpus enviroenmnt does the cpu usage percentage mean the percentage the process takes of 2 cpu or both. Please see the above exmple by Vitaly.

Also in your image of the top output. The cpu usage vales for the processes add up to a value (26.8%) greater than the total cpu usage value 23.%)

Reply

50 Jacob January 31, 2008

You forgot ksysguard in your GUI section. It has a LOT more monitoring ability than the gnome-system-monitor. Here’s a nice article covering its pros and cons:http://www.linux.com/articles/113700

Reply

51 Pirkia.lt admin February 2, 2008

top command is better use with argument c (you will get more information):

top c

Reply

52 Linux In Israel February 23, 2008

Great article! sar is not so popular as it should be …

Reply

Page 9: Linux blktrace mon

53 Nicolas March 31, 2008

Great intro to CPU usage. Thanks.

The top 10 monopolizing process would be better if sorted as a numberic key :

ps -eo pcpu,pid,user,args | sort -k 1 -r -n | head -10

Reply

54 Michael May 9, 2008

I have a dual core system. When I type ‘mpstat -P ALL’

10:52:18 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s10:52:18 PM all 14.33 0.13 2.49 0.43 0.03 0.18 0.00 82.41 151.0410:52:18 PM 0 15.47 0.13 2.47 0.33 0.00 0.01 0.00 81.59 0.0010:52:18 PM 1 13.21 0.13 2.51 0.53 0.07 0.35 0.00 83.21 151.0410:52:18 PM 2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

What is CPU 2?

Reply

55 Satya May 28, 2008

Hi All,

Today is 5/28/2008 but I ran some performance tests during 5/7/2008.I need to capture the measurements for both Memory and CPU using ‘SAR’ commands foreach of 1 minute interval. Is it possible? If yes, what commands should I need to use?

I appreciate your input here.

ThanksSatya

Reply

56 Giuseppe May 29, 2008

What do you think about cyclesoak?I wonder if you could provide some example by using it as well.

Reply

57 s5h July 20, 2008

Thanks for writing this, it’s a very good document about how to use proc. Excellent work. Things like this should be in the kernel docs but they just aren’t.Thanks for filling in the gaps.

Reply

58 Laena September 17, 2008

hmmm. how will i make use of the sourcecode used by top command in calling the program to display the processes, to be used in my bankers program in C, totest how bankers handle thing in real time…thanks

Reply

59 Will October 14, 2008

Thanks for the mpstat command. I have a question on how to interpret the CPU usage output from all those commands (top, mpstat, etc)

As from my understanding, when a core is doing stuffs, it is fully occupied, i.e. always 100%. So, is the CPU usage meaning the % use of this CPU since the lastreboot? Or is it meaning the % use within a timeframe?

Thanks

Reply

60 Will October 14, 2008

Just to add information to my question above. For mpstat, there is a INTERVAL param. If it is set as 2 seconds, does the output mean the average % CPU usagejust within that 2 seconds timeframe?

Thanks.

Reply

61 Deano October 31, 2008

This was really helpful, thanks!

Reply

62 James November 3, 2008

Is there a way to query the overall system usage say in a Perl script or something? I have a low power Linux (or XP it could be) box and want it to postpone someactivity for 5 minutes if the CPU loading is say over 30%.

Page 10: Linux blktrace mon

In simple terms

If CPU Usage > 30% then Wait 300 Seconds

Can that be done?-

Reply

63 Priya November 8, 2008

i want to know how can we find the processor id of a system with two processors through linux using c

Reply

64 Louis Wang December 31, 2008

Vivek,

Great article!

I have a question. I am confused by “%CPU” in top. One user process used 100% CPU, but the system still have 89% idle, not 0% idle. How to understand it?

Regards,Louis

$ top |head -8top – 12:50:45 up 33 days, 19:32, 4 users, load average: 1.06, 1.05, 1.00Tasks: 234 total, 2 running, 229 sleeping, 1 stopped, 2 zombieCpu(s): 9.1%us, 1.7%sy, 0.0%ni, 89.0%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%stMem: 3894760k total, 3708140k used, 186620k free, 239680k buffersSwap: 2031608k total, 17700k used, 2013908k free, 2374436k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND3595 otrs 25 0 26712 21m 3840 R 99 0.6 17931:35 PostMasterMailb

$ mpstat -P ALLLinux 2.6.18-8.el5 (xxxxxxxxx) 12/31/2008

12:54:42 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s12:54:42 PM all 9.09 0.00 1.67 0.07 0.01 0.13 0.00 89.03 1018.1112:54:42 PM 0 1.93 0.00 0.31 0.11 0.00 0.03 0.00 97.62 255.6512:54:42 PM 1 9.78 0.00 1.68 0.04 0.01 0.13 0.00 88.37 254.5312:54:42 PM 2 2.48 0.00 0.40 0.11 0.00 0.03 0.00 96.97 253.3512:54:42 PM 3 22.16 0.00 4.31 0.02 0.01 0.35 0.00 73.16 254.58

Reply

65 Vivek Gite December 31, 2008

Louis,

It may be possible that user is using 100% CPU core or one of other CPU in multiprocessor system.

Reply

66 Ramesh January 5, 2009

Hi Vivek,

that is a goos article. hope you can help me in this small issue.i have got lighttpd running and i need to develop test cases and run tests – provide dynamic content with HTML. use options like cgi, fastcgi, ajax etc.

i want to monitor the resource usage of lighttpd during each test.

please do reply. thanks

Reply

67 Ramesh January 5, 2009

sorry.. i mean..good..type(goos)..sorry

Reply

68 Youvedeep Singh January 17, 2009

Hi allIt’s a nice articleI want to relate the CPU utilization with the energy consumed by the ststem, is there any way to do so.Or there is an alternate way to find the energy consumed by all the processes.

RegardsYouvedeep Singh

Reply

69 Vikrant January 26, 2009

Hey all! Nice articleCan anyone tell me where is this information stored? For example in unix systems at /proc/uptime gives information of uptime of the system and the value isdynamic since it would be different every time you poll. Which file stores such information for CPU utilization? So I can “cat and get the information that how

Page 11: Linux blktrace mon

dynamic since it would be different every time you poll. Which file stores such information for CPU utilization? So I can “cat and get the information that how

much CPU has been utilized?Any help is appreciated.Best RegardsVikrant

Reply

70 Tony September 8, 2010

You can try to use /proc/stat to calculate CPU utilization.

If the information is displayed like this:cpu 607557 143290 385125 136873807 1279793 18764 14856 0 0

To get the average system load over any given amount of time you read only the first four values into variable (for example, ill call them u1, n1, s1, and i1).Then when you’re ready you read the values again into new variables, u2, n2, s2, and i2. Now your total usage time is equal to (u2-u1) + (n2 – n1) + (s2 –s1). And your total time overall is the usage time + (i2-i1). Take (100*usage)/total and you have your percent CPU Usage.

Reply

71 shapirus January 30, 2009

Can someone please explain me how can it be when /proc/stats shows 414% total CPU usage (including the idle time) on a quad-core single processor box?

Example:

$ cat /proc/stat|grep “^cpu “;sleep 100;cat /proc/stat|grep “^cpu ”cpu 102843 0 66548 4308888 773304 9547 30153 0 0cpu 103568 0 67109 4345597 776311 9655 30471 0 0

if we subtract the sets of numbers from each other, divide by 100 and sum them, we’ll find that they add up to 414.28. How can it be? I use RHEL 5 with2.6.28.2 kernel with dynamic ticks and multi-core scheduler support.Thanks.

Reply

72 Tony September 8, 2010

The average CPU usage is:

(103568-102843 + 0-0 + 67109-66548)/(4345597-4308888)=0.0350322809

only 3.5%, but the estimation is not accurate

Reply

73 shapirus January 31, 2009

Found it out. The bug (feature?) was in the CONFIG_NO_HZ option. I guess the kernel calculates the idle time inaccurately when the dynamic ticks are turnedon. However I also have a few other 32-bit boxes (that one was 64-bit) where this issue does not occur and one 32-bit where it does.Weird.

Reply

74 Youvedeep Singh February 2, 2009

hi

In one of my college project i require the energy consumed by the System.Is there any way to find the Power/Energy consumed by the CPU/Disk/IOs.If anyone is aware of any of such method, please reply fast, i require it urgently.

RegardsYouvedeep Singh

Reply

75 Nicholas February 20, 2009

How I get the word size (32bit or 64bit) of a particular server running on LinuxLinux express.sagt.com.lk 2.6.9-34.ELsmp #1 SMP Fri Feb 24 16:54:53 EST 2006 i686 i686 i386 GNU/Linux

ThanksNic

Reply

76 J_Tom_Moon_79 February 22, 2009

# on fedora core (can install with yum)$ dstat

Reply

77 J_Tom_Moon_79 February 22, 2009

# (to find more, just hunt through the output of this cmd)$ yum search stat

Reply

Page 12: Linux blktrace mon

Reply

78 J_Tom_Moon_79 February 23, 2009

# (or manually search through the output of yum)$ yum search stat

Reply

79 mohamed March 1, 2009

I found this article really helpful, thank you, keep up the good work.

Reply

80 Tini March 26, 2009

This article really helped me a lot.Thanks a lot

Reply

81 nic April 2, 2009

Using “k -pcpu” will accomplish the reverse sorting as well (including taking care of proper numeric sorting on multi-cpu machines):ps k -pcpu -eo pcpu,pid,user,args | head -10

Reply

82 Sanjay May 15, 2009

Thanks a ton!!! very awesome article and this whole long thread :)

Reply

83 Pavel May 19, 2009

hi hi well…. i have 1question.. ahmm….letme se…. ihave a Red hat 5 linux and glassfish aplication server an’ when i try to monitoring the server i see somethinglike …. well ….

top – 17:41:08 up 1 day, 6:37, 4 users, load average: 1.12, 1.12, 1.11Tasks: 159 total, 1 running, 153 sleeping, 5 stopped, 0 zombieCpu(s): 26.5%us, 0.2%sy, 0.0%ni, 73.1%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%stMem: 3365124k total, 3124404k used, 240720k free, 4400k buffersSwap: 8385888k total, 246344k used, 8139544k free, 71892k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND12001 root 20 0 1633m 593m 11m S 102 18.0 218:19.97 java28432 root 22 0 1641m 330m 13m S 2 10.1 2:06.12 java28611 root 25 0 1642m 228m 12m S 2 6.9 2:25.95 java28528 root 19 0 2253m 920m 13m S 1 28.0 10:43.70 java1 root 15 0 2036 556 524 S 0 0.0 0:00.84

as u’ can see mi cpu it’s burning or something like that …. someone knows why a glassfish domain only increese i mind…just eat ram memory…. someoneknows.. why….. jus whyy !!! why!!!!! T_T

Reply

84 Vivek Gite May 20, 2009

Your load average looks normal to me. Run free -m command to see memory usage.

Reply

85 Pavel May 20, 2009

ahmm….. really?….. well…. ahm…. the server in the graphic mode runs to slowly and welllit’s a little server i think cuz just have 3.5gb in Ram , but as u’ can sein my example the proces quickly the ram downs……i mind… i don’t know i think……

Reply

86 Joe July 2, 2009

Good info here. I like the “top|head -5! in particular – everything in one nutshell. Can someone please explain the CPU load percentage as it relates to multi-core

or multi-cpu machines. If I see a load of 1.57 (157%) on a Xeon (quad processor), is that 1.57 out of a possible 4.00, or are all 4 CPUs running flat out andswapping the 57% overhead? Also, is there an easy way to get a CPU count to adjust the load statistic if needed? From the above the best I got was “cat/proc/cpuinfo|grep processor|wc -l” – but I don’t suspect it would ‘port’ from RedHat to a Sun, HP or AIX box.

Reply

87 Avish Aren July 3, 2009

On a machine with 4 processors running Linux, what would a CPU load of 2 mean?

Reply

88 Avish Aren July 3, 2009

Show me a command that would search for a given line of text in all files in the current directory tree older than 2 months without using pipes

Reply

89 Avish Aren July 3, 2009

Page 13: Linux blktrace mon

89 Avish Aren July 3, 2009

While looking in an application log file, you see a line to the effect of “Cannot bind to address: 1.2.3.4 address already in use”; what does this indicate?

Reply

90 ant July 10, 2009

ps can also sort the output

ps -eo pcpu,vsize,rss,pid,user,args –sort -pcpu

i am using this now in a monitoring script so as soon as something goes wrong i can get a snapshot of the cpu hog, and check up on process memory usage aswell.

Reply

91 Anurag Srivastav August 25, 2009

Your posting seems to be helpful. I suggest you to add some info about vmstat command

Reply

92 Anbu September 16, 2009

Its a good article

Reply

93 Anbu September 16, 2009

How to list the top by showing the cpu core details without pressing 1.

Reply

94 anand November 10, 2009

Nice Article !!Can someone tell me how to find on which processor/core the process is attached ?

Reply

95 Arun December 4, 2009

I have query here. Appreciate if any one could help me on this.

My server is ProLiant DL380 G3 model which is a 32 bit CPU server. It has two cpus. Now the problem is server alsways showing high IOWAIT.

CPU states: cpu user nice system irq softirq iowait idletotal 3.2% 0.0% 0.5% 0.0% 0.0% 95.7% 0.3%cpu00 1.1% 0.0% 0.7% 0.0% 0.0% 98.0% 0.0%cpu01 5.3% 0.0% 0.3% 0.0% 0.0% 93.4% 0.7%

There is no process which is taking high CPU. All the process are looks normal. And the total cpu utilization also showing very less. Its started two month backand since then the server performance is too slow.

Can any one help me on this please?

Reply

96 Manoj Mukundan February 9, 2010

While using top press “1” can show load of each cpu(core) as shown below

op – 20:10:48 up 2 days, 1:30, 1 user, load average: 1.01, 1.01, 0.97Tasks: 119 total, 2 running, 117 sleeping, 0 stopped, 0 zombieCpu0 : 0.0% us, 0.0% sy, 0.0% ni, 99.7% id, 0.3% wa, 0.0% hi, 0.0% siCpu1 : 99.7% us, 0.3% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.0% hi, 0.0% siCpu2 : 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% siCpu3 : 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% siCpu4 : 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% siCpu5 : 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% siCpu6 : 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% siCpu7 : 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% siMem: 32905096k total, 20045912k used, 12859184k free, 264608k buffersSwap: 34812844k total, 0k used, 34812844k free, 5588896k cached

Reply

97 Tech 2 February 10, 2010

Guys Please let me know When I give# mpstat -P ALLI can see 16 CPU’s [0 to 15].How Can I check How many physical CPU’s are installed on server

Reply

98 Oliver Kleinecke February 15, 2010

Hi Guys!

Just wanted to offer you to email me, if you are having trouble to configure/monitor your system performance on linux.

Page 14: Linux blktrace mon

Just wanted to offer you to email me, if you are having trouble to configure/monitor your system performance on linux.

I am working as a gameserver admin, and I have been using a lot of different linux-versions, including SuSE, RedHat, Debian, Gentoo and some other Unix-likesystems.As you can imagine, Realtime-Online-Gameservers are very dependent on a healthy and FAST system, where CPU,RAM & IO – Usage is extremely important,because gameservers would lag otherwise..During the past few years, I found out a lot of tricks, read hundreds of howtos, and compiled many many different kernels with custom features for a lot ofdifferent hardware, include 32bit-single-cpus, 64bit-multicore-cpus, ppc-architecture-systems and so on and so on..So if you have got real trouble, which you can`t easily google yourself, let me know, I`ll be happy to help out..Best regards, Oliver

Reply

99 venkat September 17, 2010

Hi,i have a query regarding CPU utilization and CPU percentage.What is mean by CPU percentage?Basing on what parameter we can calculate CPU percentage.On my AIX server having 4 cpu’s shows below values for each 15 min interval.

system cpu time is 4%, User cpu time is 90% idle cpu time is 6%

and CPU percentage of all the processes not exceeded 20%.How can i understood my CPU performance from the above values.

Reply

100 {A} February 18, 2010

4 c top 5 processes -> ps -eo pcpu,pid,user,args –sort=pcpu | tail -n 5

Reply

101 Craig March 8, 2010

When on a multicore system, does top with no arguments show an average of each core? I know that with the “1” argument I can see each CPU listed. But withno arguments what am I seeing? It appears to be an average of stats on each CPU?

Thanks! Craig

Reply

102 Ben Salem March 14, 2010

I lost my password

Reply

103 Prashant March 17, 2010

Hi Oliver Kleinecke,I have e-commerce site.which is using two load balancer and 8 web servers.how can I monitor server performance of each machine or CPU.Thanks,Prashant

Reply

104 moonpixel March 26, 2010

Thanks much for all this info,is it possible to get daily stats written into a log file?or do I need to get some script to do that?any recommendations?thank youMM

Reply

105 Venkat April 24, 2010

Hi,

Is there a way to find out cpu usage per thread in Linux? Some other threads say that we cannot find cpu usage at thread level in Linux? Is that true? Anymaterial to give more insight on this topic.

I know /proc//lpsinfo structure gives cpu usage per thread in Solaris.

Appreciate your response,Thanks, Venkat

Reply

106 Vivek Gite April 25, 2010

Use pidstat command.

Reply

107 gustavx May 9, 2010

Page 15: Linux blktrace mon

Here there is a piece of a script that may be useful to get the CPU usage only:

top bd00.50n2 | grep Cpu | tail -n1 | sed ‘s/.*Cpu(s)://g; s/us,.*//g’

This gives the User CPU usage, but could be easily modified for other values.

Reply

108 Rey July 23, 2010

Is there anyway to determine CPU cycles currently in use and available CPU Cycles.

Reply

109 Dawn Alphonse Jose October 18, 2010

how can i resolve this issue of CPU utilisation in my linux server.

Reply

110 Sharad January 10, 2011

This helps, thanks!

Reply

111 Mani January 26, 2011

Great article.. Also please consider mentioning about vmstat tool. It is another great tool..

Reply

112 Lohith March 22, 2011

Hi ,I am running mpstat -P ALL command and calculating the CPU utilization values. but i want to calculate the cpu utilization values of another CPU from the onethat I am working from and report the values of the same to other module that is working on in my processor ..Is it possible? Please let me know ..This is a urgentrequirement..

Reply

113 Kilroy April 1, 2011

Great article!!! thanksalthough i have a debian squeeze box without X GUI installed although i’d like to have graphical reports on performance statistics like CPU%, memory usageetc.. is there any tool or command i can use to get this done? using systat i noticed im getting volumes of text data and its quite time consuming to search forspecific data. im quite new to this could anyone help me out

Thanks in advance

Reply

114 Kilroy April 1, 2011

to be more specific i was using *sar and found all the data i wanted and more but realized that i needed more Graphical data. could anyone suggest whichdirection i need to move to get this done?

Reply

115 Taher May 4, 2011

Is there a way for me to see sar results for yesterday from the default log?( By default it only shows from midnight of today . Note: I am not explicitly running or saving it )

Thanks .

Reply

116 RapidSpeeds May 7, 2011

Nice guide, very well written and documented.

Will direct anyone here should any such questions arise from one of our customers.

Thanks.

Reply

117 sachin June 28, 2011

how to check cpu utilization past 2 days

Please help me

Reply

118 Si Em July 11, 2011

Could you kindly descripe more detail about the below command. For example, if use command number 2 “nohup”, what directory should i used? Local directoryor server directory? Thank in advance for your kind.

To get multiple samples and multiple reports set an output file for the sar command. Run the sar command as a background process using.

Page 16: Linux blktrace mon

To get multiple samples and multiple reports set an output file for the sar command. Run the sar command as a background process using.# sar -o output.file 12 8 >/dev/null 2>&1 &Better use nohup command so that you can logout and check back report later on:# nohup sar -o output.file 12 8 >/dev/null 2>&1 &All data is captured in binary form and saved to a file (data.file). The data can then be selectively displayed ith the sar command using the -f option.# sar -f data.file

Reply

119 Roel July 27, 2011

Nice article – this helped, thanks.

Reply

Leave a Comment

Name *

E-mail *

Website

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <blockquote> <pre> <a href="" title="">

Notify me of followup comments via e-mail.

Submit

Tagged as: cpu load linux, cpu status, cpu time, cpu usage linux, cpu utilization, cpu utilization linux, cpus, disk i/o, iostat command, linux cpu, linux cpu load, linux cpu monitor, linux cpu usage,

linux cpu utilization, linux kernel, linux red hat, linux top display, memory utilization, mpstat command, performance tools, real time view, red hat linux, rhel, sar command, smp, swap space,

system cpu, tutorial top linux, utilization statistics, vmstat command

Previous post: FreeBSD Download Sun Java JDK and JRE 1.5 Binaries

Next post: Why my Linux seems to hang at Sendmail or Httpd service screen while booting server?

Sign up for our daily email newsletter:

Enter your email address Sign Up

Search

Find us on Facebook

Vladimir Iasava Milinda Au Ljubomir

Noran Luiz Sagar Prashanth Benjamin

nixCraft

13,719 people like nixCraft.

Like

Facebook social plugin

Related Posts

Page 17: Linux blktrace mon

Howto collect Linux system utilization data into a fileHow do I find out Linux Disk utilization?Display real-time system information from your Linux box on a LCD with LCDproc software

©2004-2011 nixCraft. All rights reserved. Cannot be reproduced without written permission. Privacy Policy | Terms of Service | Questions or Comments | Copyright Info | Sitemap

Page 18: Linux blktrace mon