vmstat和列

时间:2010-07-15 20:30:39

标签: bash formatting

我想使用列实用程序来格式化对齐列中iostat的输出。

我想运行类似的东西:

vmstat 1 10 | column -t

但输出仅在10秒后出现(vmstat完成其工作),而不是每秒。

有什么想法吗?

4 个答案:

答案 0 :(得分:3)

发生这种情况的原因是列等待收集尽可能多的输入,以此作为其列猜测的基础。它无法知道数据模式每秒都会重复。

您可以通过运行此操作来估算您要执行的操作:

for i in 0 1 2 3 4 5 6 7 8 9; do iostat | column -t; sleep 1; done

修改

感谢丹尼斯的一些建议:

for i in {0..9} ; do iostat 1 1 | column -t; sleep 1; done

与原版的唯一区别是第一个标题行每秒重复一次。 sedgrep的一些步法可以解决这个问题。

答案 1 :(得分:2)

尝试一下:

vmstat -w 1 5

这在vm中可以正常工作,但是在物理机中具有很大的性能时,cpu的列可能看起来不如在vm中好。

答案 2 :(得分:0)

我认为这是你想要完成的事情:

vmstat 1 10 | while read line
do
    echo "$line" | column -t
done

答案 3 :(得分:-1)

试试这个

vmstat 1 10 >> /tmp/vmout.txt; tail -f /tmp/vmout.txt