Я использую Threadripper 1920x, у него нет встроенной графики. Материнская плата - Gigabyte x399.
Свободные шоу:
Mem: всего 62G или 65909900
dmesg показывает:
1329464K зарезервировано
Что в точности соответствует отсутствующему 1.1G.
[ 115] В нем говорится, что он зарезервирован в BIOS-e820
Как уменьшить эту бессмыслицу зарезервированной памяти BIOS?
Сколько зарезервировано в вашей Ubuntu?
В моей системе на 8 000 МБ мне не хватает 189 МБ. Ваша 8-кратная система экстраполирует до 1512 МБ для сравнения. Лично я не стал бы беспокоиться об отсутствии 1300 МБ из 64 000 МБ. Как @ N0rbert предполагает, что это может быть просто проблема 1024 x 1024 x 1024 (GiB) против 1000 x 1000 x 1000 (GB).
Тем не менее, существуют способы освободить зарезервированную память: Сокращение зарезервированной памяти
Ядро Linux проходит необычайные шаги для эффективного использования ОЗУ и для кэширования данных и буферов. Даже программы, которые вы запускаете один раз, хранятся в ОЗУ как можно дольше, если вы запускаете их второй раз. Моя философия состояла бы в том, чтобы позволить Linux управлять ОЗУ, если не будет пропущен значительный процент.
Я вижу аналогичную ситуацию на моем сервере:
$ free
total used free shared buff/cache available
Mem: 65907424 656828 64815756 64120 434840 63179300
Swap: 999420 0 999420
Я предполагаю, что это связано с работой 32-разрядной версии ОС, потому что, когда я загружаю ее с использованием другого дистрибутива GNU / Linux, отображается 480 ГБ правильно.
uname -a
показывает i686
, а не x86_64
.
$ uname -a
Linux computer 4.15.0-51-generic #55-Ubuntu SMP Wed May 15 14:26:28 UTC 2019 i686 athlon i686 GNU/Linux
(Он также обнаруживает только 8 ядер из 48 установленных, что также правильно определяется с другой ОС).