嵌入式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是如何工作的。
vmstat在内核中实现。根据这个http://www.remote-dba.net/t_tuning_vmstat_utility.htm,vmstat的实现是供应商特定的,它会改变实际显示的内容。我有一种感觉,我的实施已经破产...... – waffleman