Почему все 64-битные Linux распознают меньше оперативной памяти, чем 32-битные

у вас проблема с графическим драйвером, если у вас карта Nvidia попробуйте перейти по ссылке https://www.abiraf.com/blog/installing-nvidias-privateetary-gtx-1070-and-1080-driver-in-ubuntu-1604-how-to-get-around-the-out-of-range- error-and-a-guide-to-a-real-time-monitoring-of-your-gpu

Ссылка PS предназначена для ubuntu, но работает для debian, kali ...

1
01.02.2017, 07:24
3 ответа

32-битная система может работать с размерами 2^32 бит (4294967296 байт = 4 ГБ), в отличие от 64-битной системы, которая может работать с размерами 2^64 бит (18446744073709551616 байт = намного больше, чем может обработать текущее оборудование).Таким образом, ограничение ОЗУ в 64-битных системах связано с аппаратными ограничениями, а не с ограничениями адресации.

То, что вы видите как меньше, означает, что часть памяти зарезервирована для чего-то еще в системе, скорее всего, как видеопамять, которая выполняется на уровне BIOS.

64-битные приложения всегда немного больше с точки зрения размера программы и использования памяти, потому что переменные, которые обычно хранятся в 4 байтах, такие как длинные целые числа, числа с плавающей запятой и указатели, все обновляются до 8 байтов, чтобы выполнять ту же работу для поддержки 64-битная адресация. Обратите внимание, что в противном случае это не повлияет на производительность.

1
27.01.2020, 23:25

Думаю вряд ли разница действительно 100мб. Скорее всего, разница невелика, но происходит через границу округления, так что получается 3,8 ГБ в 3,7 ГБ. Например, это может быть разница между 3,76 и 3,74.

Кроме того, вполне разумно использовать 32-разрядную версию Linux в системе только с 4 ГБ оперативной памяти.

1
27.01.2020, 23:25

Значительная часть этого может быть связана с ядром. Я наткнулся на следующие темы, в которых обсуждалось значительное увеличение зарезервированной памяти в ядре Linux в серии 2.6:

https://forum.linode.com/viewtopic.php?t=7194

https://forum.linode.com/viewtopic.php?t=7229

Короче говоря :Значительное увеличение зарезервированной памяти, по-видимому, было введено в версии ядра 2.6.38, а затем снова уменьшено, только для 32 -битных ядер , в версии 2.6.39.1.

Начиная с версии ядра 4.9.0 -3 -amd64, я вижу, что 167 500 КБ памяти зарезервировано для экземпляра Linode объемом 4 ГБ, так что со временем эти проблемы усугубляются.

1
27.01.2020, 23:25

Теги

Похожие вопросы