Назад | Перейти на главную страницу

Linux - размер памяти

Как проверить точный объем памяти установлен на сервере? MemTotal из / proc / meminfo показывает немного меньше. Т.е. У меня 2097152K, а meminfo говорит 2054348K.

Я могу просуммировать все банки, о которых сообщает dmidecode, но для обновления требуется перезагрузка - мне это не нравится.

Есть другие идеи? Я пишу тест для автоматической подготовки в среде vmware и хочу сделать это правильно. :)

Что касается того, почему в MemTotal не хватает памяти: https://serverfault.com/a/219990/37681

 MemTotal: Total usable ram (i.e. physical ram minus a few reserved
      bits and the kernel binary code)

Пока буфер сообщений ядра не был заполнен более свежими событиями: ищите строку, начинающуюся с Memory в dmesg:

# dmesg |grep " Memory:"
[    0.000000] Memory: 8125008K/8388088K available (8546K kernel code, 1313K rwdata, 4000K rodata, 1516K init, 1316K bss, 263080K reserved, 0K cma-reserved)

который показывает физический таран: 8388088K и "несколько зарезервированных битов и двоичный код ядра" 263080K а остальное доступно для приложений 8125008K и будет отображаться как MemTotal в / proc / meminfo.

(Более поздние этапы процесса загрузки освободят некоторую дополнительную память, увеличивая MemTotal, кстати dmesg |grep Freeing)