我如何衡量Linux上的磁盘颠簸?

如何准确地观察和衡量Linux上的虚拟内存利用率和活动的数量? 我知道有vmstat,但是我怎么解释结果呢? 或者,有什么更好的?

“vmstat”会告诉你你想知道什么。 “si”和“so”列显示了每个区间换入/换出的内存数量。 “vmstat”和“free”都可以显示内存使用情况。 而不是复制和粘贴文本, 我的答案在这里给你一些这些工具报告的背景。

如果颠簸是由交换引起的,那么这一行给出了一个好数字:

vmstat 10 2 | tail -n1 | awk '{print $7*$8}' 

如果计算机正在交换,可能是好的。 如果计算机正在交换,那也可以。 但是,如果电脑既交换又交换,那就不好了。

另一个有用的工具是atop ,它提供比普通的top更详细的I / O视图。

你有没有通过联机帮助?

man vmstat

如果您需要历史信息,我使用kSar 。 它具有额外的有用的function,可以在远程机器上运行,并通过ssh直接收集信息。

其中一个最大的难题就是知道使用哪个工具。 我想这是我5年前写collectl的原因之一。 它结合了大多数其他工具的优点,将几乎所有其他工具合并为一个。 实际上,它提供了可选的输出格式,所以如果你喜欢vmstat输出,只需运行“collectl –vmstat”。 那为什么不直接运行vmstat? 这很容易 – collectl还可以logging像sar的数据,但回放看起来像vmstat! 它甚至会以可以直接馈送到gnuplot的格式(请参阅collectl-utils)进行播放,或者如果要走这条路线,可以将其加载到exel甚至RRD中。

-标记