У меня есть плата для разработки Embedded 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 равно 0, а также значения si и т. Д.
Два значения, в которых я никогда не вижу изменений: bi (блоки получены от блочного устройства) или bo (блок отправлен на блочное устройство). Даже когда я загружаю программу с флэш-памяти или записываю файлы на флэш-память. Это ожидается? Кто-нибудь видел изменение статистики на устройстве Embedded Linux? Я проверил, что это меняется на моем рабочем столе Ubuntu.
Кто-нибудь знает, где в procfs vmstat получает эту статистику?