6

我正在尝试创建一些容量规划报告,其中一项要求是了解一些 Unix 服务器的内存使用情况。

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

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

所以第一个问题:VMStat 是否默认登录,如果是,数据输出到服务器上的哪个位置?

如果没有,我该如何设置?

谢谢

4

2 回答 2

9

vmstat是您运行的命令。

以 10 秒为间隔(减去最后一个)生成一周的虚拟内存统计信息为 60,479 10 秒间隔

所以你想要的命令是:

nohup vmstat 10 604879 > myvmstatfile.dat &

这将创建一个非常大的文件 myvmstatfile.dat

编辑:RobKielty(&将把这个工作放在后台,nohup当你退出命令 shell 时会阻止任务挂起。如果你运行这个命令,监视这个文件被写入的磁盘分区是谨慎的to.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

于 2012-07-02T15:42:28.957 回答
0

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

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

于 2018-06-11T14:44:45.237 回答