vmstat和列

dim*_*mba 5 bash formatting

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

我想运行类似的东西:

vmstat 1 10 | column -t
Run Code Online (Sandbox Code Playgroud)

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

有任何想法吗?

NOZ*_*IGH 5

尝试这个:

vmstat -w 1 5
Run Code Online (Sandbox Code Playgroud)

这在vm中可以正常工作,但是在有大笔钱的物理机中,cpu的性能可能不如在vm中更好。


Car*_*icz 3

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

您可以通过运行以下命令来近似您想要执行的操作:

for i in 0 1 2 3 4 5 6 7 8 9; do iostat | column -t; sleep 1; done
Run Code Online (Sandbox Code Playgroud)

编辑

感谢丹尼斯的一些建议:

for i in {0..9} ; do iostat 1 1 | column -t; sleep 1; done
Run Code Online (Sandbox Code Playgroud)

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