1. # yum install sysstat
在对 Web Server 做性能测试的时候, 除了需要给出 “最大并发请求数”、“平均响应时间” 等数据, 还需要给出系统资源的使用情况。例如, CPU 使用率、内存使用、负载等数据。
linux 自带了一个对系统资源监控的工具 sar, 即 system activity report. sar 包含在 sysstat 包中, 关于 sysstat 的介绍:
sysstat 写道
sysstat is a package of monitoring tools, these are the tools included in the package.
iostat
Reports CPU statistics and input/output statistics for devices, partitions and network filesystems.
mpstat
Reports individual or combined processor related statistics.
pidstat
Reports statistics for Linux tasks (processes) : I/O, CPU, memory, etc.
sar
Collects, reports and saves system activity information (CPU, memory, disks, interrupts, network interfaces, TTY, kernel tables,etc.)
sadc
Is the system activity data collector, used as a backend for sar.
sa1
Collects and stores binary data in the system activity daily data file. It is a front end to sadc designed to be run from cron.
sa2
Writes a summarized daily activity report. It is a front end to sar designed to be run from cron.
sadf
Displays data collected by sar in multiple formats (CSV, XML, etc.) This is useful to load performance data into a database, or import them in a spreadsheet to make graphs.
如果运行
Java代码
- $ sar
显示
zhongwei@zhongwei-T-6845c:~$ sar
Cannot open /var/log/sysstat/sa06: No such file or directory
Please check if data collecting is enabled in /etc/default/sysstat
则修改 /etc/default/sysstat 文件, 将 ENABLED 设置为 true.
看一下 manual 中对 sar 的描述:
manual 写道
sar - Collect, report, or save system activity information.
命令格式 写道
sar [ -A ] [ -b ] [ -B ] [ -C ] [ -d ] [ -h ] [ -i interval ] [ -m ] [ -p ] [ -q ] [ -r ] [ -R ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -v ] [ -V ] [ -w ] [ -W ] [ -y ] [ -n { keyword [,...] | ALL } ] [ -I { int [,...] | SUM | ALL | XALL } ] [ -P { cpu [,...] | ALL } ] [ -o [ filename ] | -f [ file‐name ] ] [ -s [ hh:mm:ss ] ] [ -e [ hh:mm:ss ] ] [ interval [ count ] ]
测试:
先尝试一下 interval / count 这两个参数。(interval 以秒为单位)
Shell代码
- $ sar 1 5
的输出结果:
zhongwei@zhongwei-T-6845c:~$ sar 1 5
Linux 2.6.35-23-generic (zhongwei-T-6845c) 12/06/2010 _i686_ (2 CPU)
04:40:02 PM CPU %user %nice %system %iowait %steal %idle
04:40:03 PM all 4.88 0.00 1.95 0.00 0.00 93.17
04:40:04 PM all 5.99 0.00 5.53 4.61 0.00 83.87
04:40:05 PM all 5.88 0.00 2.94 6.37 0.00 84.80
04:40:06 PM all 2.91 0.00 3.88 0.00 0.00 93.20
04:40:07 PM all 5.39 0.00 3.92 0.00 0.00 90.69
Average: all 5.02 0.00 3.67 2.22 0.00 89.09
zhongwei@zhongwei-T-6845c:~$
就是从此刻开始,每隔 1 秒钟输出一次 CPU 的状态信息,执行 5 次。
使用 sar 查看系统负载:
zhongwei@zhongwei-T-6845c:~$ sar -q 1 5
Linux 2.6.35-23-generic (zhongwei-T-6845c) 12/06/2010 _i686_ (2 CPU)
04:52:31 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
04:52:32 PM 0 360 0.40 0.48 0.40
04:52:33 PM 2 360 0.40 0.48 0.40
04:52:34 PM 0 360 0.40 0.48 0.40
04:52:35 PM 1 360 0.37 0.47 0.40
04:52:36 PM 1 360 0.37 0.47 0.40
Average: 1 360 0.39 0.48 0.40
zhongwei@zhongwei-T-6845c:~$
同时查看CPU 和 系统平均负载:
zhongwei@zhongwei-T-6845c:~$ sar -q -u 1 5
Linux 2.6.35-23-generic (zhongwei-T-6845c) 12/06/2010 _i686_ (2 CPU)
04:55:22 PM CPU %user %nice %system %iowait %steal %idle
04:55:23 PM all 2.90 0.48 2.90 0.00 0.00 93.72
04:55:22 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
04:55:23 PM 0 361 0.61 0.53 0.43
04:55:23 PM CPU %user %nice %system %iowait %steal %idle
04:55:24 PM all 4.37 0.49 3.88 0.00 0.00 91.26
04:55:23 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
04:55:24 PM 0 361 0.61 0.53 0.43
04:55:24 PM CPU %user %nice %system %iowait %steal %idle
04:55:25 PM all 4.76 0.48 5.24 0.00 0.00 89.52
04:55:24 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
04:55:25 PM 1 361 0.56 0.52 0.43
04:55:25 PM CPU %user %nice %system %iowait %steal %idle
04:55:26 PM all 3.92 0.98 1.96 0.00 0.00 93.14
04:55:25 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
04:55:26 PM 1 361 0.56 0.52 0.43
04:55:26 PM CPU %user %nice %system %iowait %steal %idle
04:55:27 PM all 3.43 0.49 3.43 0.00 0.00 92.65
04:55:26 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
04:55:27 PM 0 361 0.56 0.52 0.43
Average: CPU %user %nice %system %iowait %steal %idle
Average: all 3.88 0.58 3.49 0.00 0.00 92.05
Average: runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
Average: 0 361 0.58 0.52 0.43
zhongwei@zhongwei-T-6845c:~$
使用 sar 收集内存使用状况:
zhongwei@zhongwei-T-6845c:~$ sar -r 1 100 > mem.txt &
[1] 4644
zhongwei@zhongwei-T-6845c:~$ tail -f mem.txt
Linux 2.6.35-23-generic (zhongwei-T-6845c) 12/06/2010 _i686_ (2 CPU)
05:15:37 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
05:15:38 PM 863752 1195976 58.06 78828 645112 1992556 24.94
05:15:39 PM 863744 1195984 58.07 78828 645112 1992556 24.94
05:15:40 PM 863744 1195984 58.07 78832 645112 1992556 24.94
05:15:41 PM 863744 1195984 58.07 78836 645112 1992556 24.94
05:15:42 PM 863620