Код для proc находится в fs/proc/meminfo.c
, для файлов sysfs - в drivers/base/node.c
.Сравнение их может дать вам некоторые подсказки.
Обратите внимание, что вы, вероятно, никогда не получите сложения чисел на 100%, потому что вы не можете атомарно прочитать содержимое всех файлов, поэтому значения будут меняться, покавы читаете их.
Кажется также, что во всех методах ОЗУ имеется несоответствие, сообщаемое обоими методами.Одним из объяснений этого является то, что free_init_mem
, по-видимому, не осведомлен о NUMA и увеличивает total_ram_pages
, но не ведет учет NUMA.