Ubuntu 12.04 32-битная система не проходит тестирование памяти

Причина установить шмеля вместо главного Nvidia состоит в том, что со шмелем можно переключиться легче между обоими GPU. С главным Nvidia можно только выбрать единственный GPU для X сессий. Это означает, что, если Вы хотите переключить GPU, X сессий должны быть перезапущены. Со шмелем не необходимо перезапустить X-сервер.
Этот блог содержит инструкции по установке для шмеля на 16,04. Раздел комментариев также обсуждает причину установить шмеля вместо главного Nvidia более подробно.

1
задан 07.05.2020, 10:56

2 ответа

Meminfo total: 3097452 kB показывает, сколько оперативной памяти может получить доступ к вашей ОС. Итак, это 3 ГБ, так как вы говорите, что в вашей системе столько памяти, так что все в порядке.

DMI total: 4096000 kB приходит из вашего BIOS и показывает, сколько памяти установлено в соответствии с BIOS.

Accuracy: 75.00 Memory totals not close enough - это то, что вы подумали, соотношение двух выше: Meminfo_total / DMI_total. (округлено до 2 десятичных знаков)

Таким образом, этот тест предназначен для проверки того, правильно ли ваша ОС использует все доступное ОЗУ. Если значение Accuracy выше 90%, то тест PASSes, если он находится под ним, НЕ ОТКАЗЫВАЕТСЯ.

Вы можете задать вопрос: Почему он проходит, когда он превышает 90%, разве этот тест не должен пройти, только если точность точно равна 100%? Поскольку это будет означать, что ОС имеет доступ ко всей установленной памяти, ниже 100% означает, что есть проблема.

Ответ заключается в том, что существует безопасная ситуация, когда ОС не имеет доступа ко всей установленной памяти: если у вас есть интегрированное устройство, которое использует общую память, и BIOS резервирует некоторую память для этого устройства из установленной оперативной памяти. Обычно это встроенная VGA-карта. Поэтому, если у вас есть встроенный VGA, то обычно точность ниже 100%, поэтому тестирование проходит даже с 90%. Некоторое минимальное ОЗУ также зарезервировано для некоторых компонентов BIOS, но это незначительное количество.

Вы можете утверждать, что 90% - это произвольное число, почему бы не 85% или 80%? Да, это произвольно, и я не знаю, почему именно 90% было выбрано для этого теста.

Вы можете просмотреть исходный код этого теста в /usr/share/checkbox/scripts/memory_compare, это простой скрипт bash 12.04, в более поздних выпусках это скрипт python. Вы также можете запустить его оттуда с помощью sudo /usr/share/checkbox/scripts/memory_compare


Теперь ясно, что у вас нет проблем с вашей оперативной памятью, поскольку вы установили 3 ГБ и все доступно. Так почему же этот тест сообщает, что у вас установлено 4 ГБ памяти?

Возможны две ситуации:

  • В вашем BIOS есть ошибка и отображаются неверные данные. Это менее вероятно.
  • У теста есть ошибка, когда он декодирует данные BIOS. Это более вероятно, как в этом отчете об ошибке: https://bugs.launchpad.net/checkbox/+bug/960087

Итак, чтобы проверить второй случай, запустите [116 ], так тест получает доступ к данным BIOS об оперативной памяти. Обратите внимание на вывод, если он содержит только модули оперативной памяти. Если он выводит другие устройства, как в вышеупомянутом связанном отчете об ошибках, и это устройство имеет свойство Size , тогда этот тест также добавит размер этого устройства в ОЗУ, и вывод DMI total покажет больше оперативной памяти, чем доступно.

Эта ошибка была исправлена ​​в более поздних выпусках, начиная с 12.10. Но в 12.04 у нас есть старый скрипт bash с ошибкой. И вывод, который вы написали в своем комментарии, взят из этой старой версии сценария bash.

1
ответ дан 07.05.2020, 10:57

Выполните следующую команду для более подробного обзора памяти:

cat /proc/meminfo

Ubuntu обычно кэширует много оперативной памяти, которая все еще свободна, но показывается другими инструментами как используемые. Поэтому вам нужно вычесть значение cached: из выходных данных вышеприведенной команды.

0
ответ дан 07.05.2020, 10:57

Теги

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