Performance Monitoring

Here are some handy commands that I used recently to debug a server performance issue:

> sar
Linux 2.4.9-34smp (some.server.net)  07/28/2004

12:00:00 AM       CPU     %user     %nice   %system     %idle
12:10:00 AM       all     12.29      2.00      4.55     81.16
12:20:00 AM       all      4.14      0.16      2.58     93.13
12:30:00 AM       all      4.46      0.02      2.79     92.74
12:40:01 AM       all      3.68      0.04      2.36     93.92
12:50:00 AM       all      3.78      0.03      2.47     93.72
01:00:00 AM       all      3.89      0.10      2.42     93.59
01:10:00 AM       all      6.65      0.62      2.70     90.03
01:20:00 AM       all      5.56      0.31      2.85     91.27
01:30:00 AM       all      4.04      0.02      2.40     93.53
01:40:00 AM       all      4.41      0.58      2.92     92.09
01:50:01 AM       all      5.63      0.73      3.13     90.51
02:00:00 AM       all      3.58      0.03      2.19     94.19
02:10:00 AM       all      8.19      0.03      2.39     89.39
02:20:00 AM       all      4.84      0.00      2.90     92.25
02:30:00 AM       all      6.77      0.59      2.86     89.78
02:40:01 AM       all      4.04      0.02      2.99     92.94
02:50:00 AM       all      4.60      0.03      2.83     92.55
03:00:00 AM       all      5.67      0.29      2.83     91.21
03:10:00 AM       all      4.58      0.13      2.99     92.29
03:20:00 AM       all      8.69      0.80      3.46     87.05
03:30:01 AM       all      5.32      0.22      3.10     91.36
03:40:01 AM       all      4.85      0.06      3.23     91.85
03:50:00 AM       all      3.73      0.00      2.72     93.55
04:00:00 AM       all      3.40      0.02      2.27     94.31
04:10:00 AM       all     40.16      0.09      8.79     50.96
04:20:00 AM       all     44.44      0.04     10.07     45.45
04:30:00 AM       all     32.32      1.06     10.09     56.53
04:40:00 AM       all     38.10      0.04      7.05     54.81
04:50:01 AM       all     32.80      0.02      8.07     59.12
05:00:02 AM       all     32.89      2.06     13.31     51.74
05:10:00 AM       all     42.18      0.49      9.52     47.81
05:20:01 AM       all     53.17      2.62      9.76     34.44
05:30:00 AM       all     18.56      6.41     16.87     58.15
05:40:00 AM       all     38.36      0.04      9.80     51.80
05:50:00 AM       all     26.03      0.24      9.35     64.38
06:00:00 AM       all     30.65      0.97      9.82     58.56
06:10:01 AM       all     44.41      0.07      9.51     46.00
06:20:00 AM       all     25.11      0.14     12.42     62.34
06:30:00 AM       all     37.65      0.02     12.12     50.21
Average:          all     17.02      0.54      5.76     76.68

Also “sar -A” give more useful info.

For sar to work, you need a cronjob like this:

# run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib/sa/sa1 1 1

The cronjob can go in a file at /etc/cron.d/sysstat on Redhat and similar systems.

Another useful command is “vmstat”:

> vmstat 1
   procs                      memory    swap          io     system         cpu
 r  b  w   swpd   free   buff  cache  si  so    bi    bo   in    cs  us  sy  id
 0  5  0  44856   3040  50504 273364   1   2    78   107   53   129  20   6  74
 1  5  0  44856   3164  50552 274176   0   0  2288  1036  513   766  21  11  68
 1  4  0  44856   3056  50556 273496   0   0  3128   116  443   507   7   6  87
 2  3  0  44856   3236  50564 274800   0   0  3200   460  557   558   8   7  85
blog comments powered by Disqus