I have been examining memory usage on a device that with an OMAP35X processor running a Linux kernel. When I run vmstat I see the following
# 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
A reasonable number is shown for the amount of free memory and some memory is used for the VFS cache. Since there is no swap partition, the swpd, si, and so columns are all zero. The two values I never see change are bi (blocks received from block device) or bo (block sent to block device). Even when I load a large program from flash or write files to the flash, these columns are zero. Is this expected? If so why?
If I should be seeing non-zero values for bi and bo, maybe I forgot to enable in the kernel. I have VM_EVENT_COUNTERS enabled; is there anything else I need to configure in the kernel?