将VMStat数据记录到文件中

时间:2012-07-02 13:23:38

标签: linux unix

我正在尝试创建一些容量规划报告,其中一个要求是获取有关几个Unix服务器的内存使用情况的信息。

现在我对Unix的了解非常少。我通常只是登录并运行一些脚本。

但是对于这份报告,我需要收集VMStat数据并根据之前几周按小时分解的数据生成报告,这是每10秒采集的Vmstat数据的平均值。

所以第一个问题:默认情况下是VMStat登录,如果是,那么服务器上的数据输出是什么?

如果不能如何设置?

由于

2 个答案:

答案 0 :(得分:9)

vmstat是您运行的命令。

生成一周的虚拟记忆统计数据间隔十秒间隔(减去最后一个间隔)为60,479 10秒间隔

所以你想要的命令是:

nohup vmstat 10 604879 > myvmstatfile.dat &

这将生成一个非常大的文件myvmstatfile.dat

编辑:RobKielty(&将把这个工作放在后台,nohup将阻止你在注销命令shell时挂起任务。如果你运行这个命令它将是谨慎监控要写入此文件的磁盘分区。使用df -h /path/to/directory/where/outputfile/resides监控磁盘空间使用情况。)

我不知道您需要对数据做什么,所以我无法帮助您。

像这样创建一个条目(crontab -e)

0 0 * * 0  /path/to/my/vmstat_script.sh 

文件vmstat_script.sh将包含以下bash脚本命令。

#!/bin/bash
# vmstat_script.sh
vmstat 10 604879 > myvmstatfile.dat
mv myvmstatfile.dat myvmstatfile.dat.`date +%Y-%m-%d`

这将每周创建一个文件,名称为myvmstatfile.dat.2012-07-01

答案 1 :(得分:0)

我用于监控Linux vm指标的命令如下: nohup vmstat 10 720 | (读取时;做回声" $(日期+%d-%m-%Y""%H:%M:%S)$ REPLY&#34 ;; done)>> nameofLogfile.log

这里nohup用于在后台运行进程。 它将以10秒的间隔运行2小时。 这是生成图形和报告的最佳命令,因为时间戳也将包含在日志中以及不同的度量标准中,以便我们可以相应地过滤日志。