【问题标题】:vmstat in Embedded Linux嵌入式 Linux 中的 vmstat
【发布时间】:2011-09-21 23:28:58
【问题描述】:

我有嵌入式 Linux 开发板运行一些用户空间进程。当我运行“vmstat 1”时,我看到以下内容

# 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 和 si 等值为 0。

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

有谁知道 procfs vmstat 在哪里获得这些统计信息?

【问题讨论】:

    标签: memory-management paging embedded-linux


    【解决方案1】:

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

    要了解您的系统,也许有一个strace 实用程序?试试strace vmstat 1:如果它有效,它会告诉你 vmstat 是如何工作的。

    【讨论】:

    • vmstat 在内核中实现。根据这个remote-dba.net/t_tuning_vmstat_utility.htm , vmstat 的实现是特定于供应商的,它会改变实际显示的内容。我有一种感觉,我的实现被打破了......
    猜你喜欢
    • 2017-10-28
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    • 2013-01-05
    • 2020-01-26
    • 1970-01-01
    相关资源
    最近更新 更多