过滤 vmstat 和 iostat 的输出
filter output of vmstat and iostat
我正在使用 iostat 和 vmstat 收集统计数据,并定期 运行每一个 10 秒。但是,我不想打印出整个输出。对于 iostat 我只想显示读写次数并将它们显示为一列。使用 vmstat,我只想显示空闲、缓存和缓冲区列。我怎样才能做到这一点?我使用的任何过滤器都只是 return 这个结果。
这些系统在桌面终端和服务器版本上都是 ubuntu 12.04。他们 运行 使用 vmware 播放器。
ms total merged
0 0 0
0 0 0
0 0 0
0 0 0
758118 836340 1892
0 0 0
0 0 0
假设输出格式如下:
> iostat -dx sda
Linux 3.13.0-45-generic (hostname obscured) 03/22/2015 _x86_64_ (8 CPU)
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 7.02 30.64 4.48 8.32 174.81 789.29 150.64 0.86 67.48 10.76 98.01 1.06 1.36
> vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 3728772 969952 614416 29911568 3 13 22 99 1 4 48 5 47 0 0
您可以为 iostat
执行以下操作(如果您愿意,每 10 秒执行一次):
device_name=sda # or whatever device name you want
iostat -dx ${device_name} | awk 'NR==4 { print " " }'
示例输出 (r/s w/s
):
4.48 8.32
如果您需要大于 1 的计数,请执行以下操作:
iostat -dx ${device_name} ${interval} ${count} | awk 'NR==1 || /^$/ || /^Device:/ {next}; { print " " }'
示例输出(device_name=sda; interval=1; count=5
):
10.24 8.88
0.00 0.00
0.00 2.00
0.00 0.00
0.00 0.00
您可以为 vmstat
执行以下操作(如果您愿意,每 10 秒执行一次):
vmstat | awk 'NR==3 {print " " " " }'
示例输出 (free buff cache
):
969952 614416 29911568
我正在使用 iostat 和 vmstat 收集统计数据,并定期 运行每一个 10 秒。但是,我不想打印出整个输出。对于 iostat 我只想显示读写次数并将它们显示为一列。使用 vmstat,我只想显示空闲、缓存和缓冲区列。我怎样才能做到这一点?我使用的任何过滤器都只是 return 这个结果。 这些系统在桌面终端和服务器版本上都是 ubuntu 12.04。他们 运行 使用 vmware 播放器。
ms total merged
0 0 0
0 0 0
0 0 0
0 0 0
758118 836340 1892
0 0 0
0 0 0
假设输出格式如下:
> iostat -dx sda
Linux 3.13.0-45-generic (hostname obscured) 03/22/2015 _x86_64_ (8 CPU)
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 7.02 30.64 4.48 8.32 174.81 789.29 150.64 0.86 67.48 10.76 98.01 1.06 1.36
> vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 3728772 969952 614416 29911568 3 13 22 99 1 4 48 5 47 0 0
您可以为 iostat
执行以下操作(如果您愿意,每 10 秒执行一次):
device_name=sda # or whatever device name you want
iostat -dx ${device_name} | awk 'NR==4 { print " " }'
示例输出 (r/s w/s
):
4.48 8.32
如果您需要大于 1 的计数,请执行以下操作:
iostat -dx ${device_name} ${interval} ${count} | awk 'NR==1 || /^$/ || /^Device:/ {next}; { print " " }'
示例输出(device_name=sda; interval=1; count=5
):
10.24 8.88
0.00 0.00
0.00 2.00
0.00 0.00
0.00 0.00
您可以为 vmstat
执行以下操作(如果您愿意,每 10 秒执行一次):
vmstat | awk 'NR==3 {print " " " " }'
示例输出 (free buff cache
):
969952 614416 29911568