Только половина оперативной памяти доступна для Linux в устаревшем режиме, UEFI показывает полную, почему?

Попробуйте это

xrandr --delmode <output> <name>

например:

xrandr --delmode HDMI-1 1368x768_60.00
3
26.06.2021, 12:17
1 ответ

Я отвечу на свой вопрос, так как я наконец понял, что происходит.

TLDR;

В Linux указано максимальное значение 8 ГБ на микросхему памяти, поскольку я использовал устаревшую загрузку. При использовании загрузки UEFI Linux показывает полную память на чип.


Полная история, может кому пригодится

Некоторое время назад я приобрел этот ноутбук Dell. У него были хорошие характеристики, такие как 32 ГБ ОЗУ (, 2x16 ГБ ), 4 ядра i7, 512 ГБ SSD и т. Д. Я установил Linux Mint 19, и большую часть времени он работал хорошо. Обналичивались один или два раза в день, когда приложения интенсивно использовались, например, два окна браузера с несколькими вкладками, три экземпляра IDE, Youtube, видеозвонок и т. д. одновременно. Симптомы выглядели как проблемы с графикой из-за «сломанного телевизора» при сбое. Только аппаратный сброс смог вернуть ноутбук к жизни.

После нескольких сбоев я решил следить за некоторыми температурами, использованием ЦП, использованием памяти и т. д. Это был первый раз, когда я заметил, что ОС показывает примерно половину фактической памяти, отображаемой в BIOS. Это свидетельствовало о серьезных проблемах с памятью.

Что интересно, dmidecodeвсегда показывает правильные значения. Также dmesgпоказывает, что kerenel знает о полной памяти, но сообщает только о половинной пригодной для использования памяти.

Я решил провести несколько тестов на этом ноутбуке и начать с запуска инструментов диагностики Dell и memtest86. Оба инструмента показали 32 ГБ ОЗУ, и оба отказали после нескольких минут этапа тестирования памяти. Те же симптомы, что и раньше. Я был на 99% уверен, что это проблема с памятью.

После этого я протестировал различные конфигурации чипов памяти, и они отказали только тогда, когда были вставлены оба чипа памяти, независимо от того, в какие слоты. Похоже, что они оба в порядке (каждый чип прошел memtest86 ), но они плохо работают вместе с оборудованием Dell.

Таким образом, чтобы исправить сбои, мне нужно было использовать только один слот памяти.

Теперь сбои исчезли, но ОС сообщила только о 8 ГБ ОЗУ, в которые вставлено 16 ГБ. Это было проблемой, потому что ОС довольно скоро начала использовать своп и была совершенно непригодна для использования.

Решил проверить несколько совершенно других микросхем памяти, чтобы проверить, все ли в порядке.

  • старые два чипа 16G -сообщают о 17G RAM
  • один чип 8G -сообщает о 8G RAM
  • Чип 16G (отличается от предыдущих)-сообщают о 8 ГБ (какого черта!?)

Во всех конфигурациях memtest86 и BIOS показывают правильный объем ОЗУ. Так что это проблема ОС. Но почему?

После предложения @ LinuxSecurityFreak я попытался загрузить Ubuntu live USB, чтобы посмотреть, что там показано. Однократная загрузка Dell -показывает два возможных варианта загрузки: USB, устаревшая версия и UEFI. Сначала я попробовал UEFI, и объем оперативной памяти был правильным, 16 ГБ. Затем я попробовал устаревший режим и бум! всего 8 Гб.

Итак, моя проблема была вызвана тем, что ОС была установлена ​​без загрузки UEFI . Я, вероятно, отключил UEFI, потому что у меня были некоторые проблемы с загрузкой с USB в реальном времени, но я не уверен.

Самая большая загадка для меня — какое это имеет значение для ядра ОС?

«Исправить»

Чтобы исправить все это, я только что установил Kubuntu с включенным UEFI в BIOS. Теперь память сообщается правильно...

2
28.07.2021, 11:22

Теги

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