vmstat 的总内存统计

vmstat 的总内存统计

我正在分析 Linux 系统上的内存使用情况。当我运行 vmstat -s 时,我看到以下内容:

waffleman@waffle-iron:~$ vmstat -s
      3549184 K total memory
      3206708 K used memory
      1918012 K active memory
      1037320 K inactive memory
       342476 K free memory
       301448 K buffer memory
      1748772 K swap cache
            0 K total swap
            0 K used swap
            0 K free swap
      5481272 non-nice user cpu ticks
       763306 nice user cpu ticks
      3570165 system cpu ticks
    996097114 idle cpu ticks
        72862 IO-wait cpu ticks
           27 IRQ cpu ticks
        35837 softirq cpu ticks
            0 stolen cpu ticks
      1718539 pages paged in
     69439772 pages paged out
            0 pages swapped in
            0 pages swapped out
    460599379 interrupts
   1697890087 CPU context switches
   1314014908 boot time
       307904 forks

我知道系统安装了 4096 MB 的 RAM,但为什么只显示 3466 MB?这可以解释为总“可用”内存吗?也许缺少的 630 MB 正在被内核使用,无法分页?

我也在嵌入式 Linux 系统上尝试过这个,结果也差不多。DRAM 芯片有 128 MB,但 vmstat 中只显示 124 MB。

答案1

“总内存”是内核管理的总内存。

其他东西正在使用该内存或阻止内核使用该内存。可能有很多原因。例如,如果这是一个没有 PAE 的 32 位操作系统,其他映射可能会占用地址空间,从而剩下不到 4GB 的空间。BIOS 使用一些内存来填充要传递给操作系统的结构。共享内存视频卡可能会消耗一些内存。等等。

相关内容