有没有办法运行 VMSTAT 命令(或类似命令)并在行中包含时间戳?我知道我可以通过管道输出命令并操纵结果,但如果我这样做,我会得到垃圾信息;我被告知 VMSTAT 的第一行包含虚假数据,我基本上会得到第一行的重复列表。
有没有办法获得这种数据,无论是使用 VMSTAT 还是类似的东西:
20090826.134908 0 0 0 241832 120064 3023856 0 0 0 1 0 0 0 0 100 0
谢谢!
IVR 复仇者
不确定“如果我 [操纵结果],我将获得垃圾信息”是什么意思。你可以这样做:
这将删除总是被告知忽略的那条线。或者,如果您想删除它以及标题:
这也将处理标题。如果标题重复,您可以使用以下内容:
就我而言,“内存”在第 1 行,“空闲”在第 2 行;替换为您自己的适当字符串。
这是一个快速而肮脏的解决方案:
顺便说一句,第一行不是伪造的 - 它包含自上次重新启动以来的平均值。
我不确定你的意思。如果命令不会给你你想要的输出,我想不出除了管道和格式化输出之外的任何事情。
无论如何,这会产生您想要的格式。
Sar 可能会更好:
我会推荐 sar 命令,它是 sysstat 包的一部分。默认情况下,这将包括时间戳,并且有一些开关可以获取各种数据。最基本的用法就是:
请参阅“man sar”以获取内存和分页统计信息。
如果您使用 vmstat:
如果您要使用 vmstat,一旦终端已满,它将再次打印标题(至少是我的 GNU 版本),所以使用 -n 开关来抑制它。