嵌入式Linux中的vmstat

问题描述:

我有嵌入式Linux开发板运行几个用户空间进程。当我运行“的vmstat 1”我明白了示出了用于的可用内存量以下嵌入式Linux中的vmstat

# vmstat 1 
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- 
r b swpd free buff cache si so bi bo in cs us sy id wa 
0 0  0 51028  0 2788 0 0  0  0 293 441 0 0 100 0 
0 0  0 51016  0 2788 0 0  0  0 301 393 0 0 100 0 
0 0  0 51016  0 2788 0 0  0  0 381 382 0 1 99 0 
0 0  0 51040  0 2788 0 0  0  0 254 469 0 0 100 0 
0 0  0 51040  0 2788 0 0  0  0 277 488 0 0 100 0 
0 0  0 51040  0 2788 0 0  0  0 225 397 0 0 100 0 
0 0  0 51040  0 2788 0 0  0  0 310 824 0 1 99 0 
0 0  0 51016  0 2788 0 0  0  0 432 440 1 0 99 0 

在合理的数量和一些存储器用于VFS缓存。另外由于没有交换分区,swpd为0以及si等值。

这两个值我从来没有看到任何变化在是(发送到块装置块)双向(来自块装置接收块)或。即使我从闪存加载程序或将文件写入闪存。这是预期的吗?有没有人看到这些统计数据在嵌入式Linux设备上发生变化我证实它在我的Ubuntu桌面上发生了变化。

有没有人知道在procfs vmstat中获取这些统计信息的位置?

我不知道它是如何工作的。我的嵌入式开发系统基于ELDK 4.2。没有配置vmstat,我没有看到在BusyBox中启用它的选项。

要找出您的系统,可能有strace工具?尝试strace vmstat 1:如果它有效,它会告诉你vmstat是如何工作的。

+0

vmstat在内核中实现。根据这个http://www.remote-dba.net/t_tuning_vmstat_utility.htm,vmstat的实现是供应商特定的,它会改变实际显示的内容。我有一种感觉,我的实施已经破产...... – waffleman