Рейтинг:1

Не показывает доступную оперативную память

флаг th

В настоящее время я использую Ubuntu на своем ноутбуке. Согласно моим спецификациям и моей биосе, должно быть 16 ГБ ОЗУ. Когда я впервые получил его, там было 16 ГБ ОЗУ, но всякий раз, когда я звоню бесплатно или же хтоп сейчас он показывает только 12 ГБ. Выход для бесплатно является:

              общее количество использованных бесплатных общих баффов/доступных кешей
Мем: 12077124 1817484 8333912 18500 1925728 9965952
Обмен: 33554428 0 33554428

и выход для dmesg | grep -я память является:

[ 0.004350] проверка: Сканирование 1 области на наличие низкого уровня повреждения памяти
[0.004667] ACPI: резервирование памяти таблицы FACP по адресу [mem 0xc5993000-0xc5993113]
[0.004668] ACPI: резервирование памяти таблицы DSDT по адресу [mem 0xc597c000-0xc598d8ca]
[0.004669] ACPI: резервирование памяти таблицы FACS по адресу [mem 0xcbc19000-0xcbc1903f]
[0.004669] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc7c9c000-0xc7c9c0a1]
[0.004670] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc7c9a000-0xc7c9b18e]
[0.004670] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc7c8c000-0xc7c93228]
[0.004671] ACPI: резервирование памяти таблицы IVRS по адресу [mem 0xc7c6a000-0xc7c6a1a3]
[0.004671] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc7c38000-0xc7c38a41]
[0.004672] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc7bb3000-0xc7bb3631]
[0.004672] ACPI: резервирование памяти таблицы TPM2 в [mem 0xc7bb2000-0xc7bb2033]
[0.004673] ACPI: резервирование памяти таблицы POAT по адресу [mem 0xc7baf000-0xc7baf054]
[0.004673] ACPI: резервирование памяти таблицы BATB по адресу [mem 0xc7b9a000-0xc7b9a049]
[0.004674] ACPI: резервирование памяти таблицы HPET по адресу [mem 0xc5992000-0xc5992037]
[0.004675] ACPI: резервирование памяти таблицы APIC по адресу [mem 0xc5991000-0xc5991137]
[0.004675] ACPI: резервирование памяти таблицы MCFG по адресу [mem 0xc5990000-0xc599003b]
[0.004676] ACPI: резервирование памяти таблицы SBST по адресу [mem 0xc598f000-0xc598f02f]
[0.004676] ACPI: резервирование памяти таблицы WSMT по адресу [mem 0xc598e000-0xc598e027]
[0.004677] ACPI: резервирование памяти таблицы VFCT по адресу [mem 0xc596e000-0xc597b883]
[0.004677] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc5968000-0xc596d353]
[0.004678] ACPI: резервирование памяти таблицы CRAT по адресу [mem 0xc5967000-0xc5967ebf]
[0.004679] ACPI: резервирование памяти таблицы CDIT по адресу [mem 0xc5966000-0xc5966028]
[0.004679] ACPI: резервирование памяти таблицы FPDT по адресу [mem 0xc7b9b000-0xc7b9b033]
[0.004680] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc5965000-0xc5965148]
[0.004680] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc5963000-0xc59644ba]
[0.004681] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc5961000-0xc596257f]
[0.004681] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc595d000-0xc5960972]
[0.004682] ACPI: резервирование памяти таблицы BGRT по адресу [mem 0xc595c000-0xc595c037]
[0.004683] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc595b000-0xc595b057]
[0.004683] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc595a000-0xc595a24c]
[0.004684] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc5958000-0xc59592bb]
[0.004684] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc5957000-0xc5957ad4]
[0.004685] ACPI: резервирование памяти таблицы UEFI по адресу [mem 0xcbc18000-0xcbc180d9]
[0.004685] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc5956000-0xc5956051]
[0.004686] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc7c98000-0xc7c9808f]
[0.004687] ACPI: резервирование памяти таблицы SSDT по адресу [mem 0xc7c97000-0xc7c979b4]
[ 0.004947] Ранние диапазоны узлов памяти
[0.032537] PM: гибернация: Зарегистрированная память nosave: [mem 0x00000000-0x00000fff]
[0.032539] PM: гибернация: Зарегистрированная память nosave: [mem 0x0009f000-0x0009ffff]
[0.032539] PM: гибернация: Зарегистрированная память nosave: [mem 0x000a0000-0x000dffff]
[0.032540] PM: гибернация: Зарегистрированная память nosave: [mem 0x000e0000-0x000fffff]
[0.032541] PM: гибернация: Зарегистрированная память nosave: [mem 0x09c00000-0x09da0fff]
[0.032542] PM: гибернация: Зарегистрированная память nosave: [mem 0x09f00000-0x09f0cfff]
[0.032542] PM: гибернация: Зарегистрированная память nosave: [mem 0x9973c000-0x9973cfff]
[0.032543] PM: гибернация: Зарегистрированная память nosave: [mem 0x99749000-0x99749fff]
[0.032544] PM: гибернация: Зарегистрированная память nosave: [mem 0xc0a5b000-0xc0aebfff]
[0.032545] PM: гибернация: Зарегистрированная память nosave: [mem 0xc1214000-0xc1214fff]
[0.032546] PM: гибернация: Зарегистрированная память nosave: [mem 0xc1bee000-0xc1beefff]
[0.032547] PM: гибернация: Зарегистрированная память nosave: [mem 0xc4b7e000-0xcad7dfff]
[0.032548] PM: гибернация: зарегистрированная память nosave: [mem 0xcad7e000-0xcbd7dfff]
[0.032548] PM: гибернация: зарегистрированная память nosave: [mem 0xcbd7e000-0xcbdfdfff]
[0.032549] PM: гибернация: зарегистрированная память nosave: [mem 0xce000000-0xcffffffff]
[0.032549] PM: гибернация: Зарегистрированная память nosave: [mem 0xd0000000-0xf7ffffff]
[0.032550] PM: гибернация: Зарегистрированная память nosave: [mem 0xf8000000-0xfbffffff]
[0.032550] PM: гибернация: Зарегистрированная память nosave: [mem 0xfc000000-0xfdbffffff]
[0.032551] PM: гибернация: зарегистрированная память nosave: [mem 0xfdc00000-0xfdcfffff]
[0.032551] PM: гибернация: Зарегистрированная память nosave: [mem 0xfdd00000-0xfed7ffff]
[0.032551] PM: гибернация: Зарегистрированная память nosave: [mem 0xfed80000-0xfed80fff]
[0.032552] PM: гибернация: Зарегистрированная память nosave: [mem 0xfed81000-0xffffffff]
[0.071132] Память: 11923324K/12401088K доступно (14345K кода ядра, 3478K rwdata, 10340K Rodata, 2688K init, 5976K bss, 477504K зарезервировано, 0K cma-зарезервировано)
[ 0.109279] Освобождение памяти альтернатив SMP: 40 КБ
[ 0,255382] x86/мм: Размер блока памяти: 128 МБ
[0.633239] Освобождение памяти initrd: 56768K
[ 0.636859] проверка: сканирование на наличие повреждений памяти каждые 60 секунд
[0.922923] Освобождение неиспользуемой расшифрованной памяти: 2036 КБ
[0.923550] Освобождение неиспользуемой памяти образа ядра (initmem): 2688 КБ
[ 0.936446] Освобождение памяти неиспользуемого образа ядра (промежуток между текстом и данными): 2036 КБ
[ 0.937019] Освобождение памяти неиспользуемого образа ядра (разрыв данных/родаты): 1948 КБ
[2.777602] Драйвер энергонезависимой памяти v1.3
[3.074212] amdgpu 0000:07:00.0: amdgpu: функция доверенной зоны памяти (TMZ) отключена как экспериментальная (по умолчанию)
[ 3.314687] [TTM] Ядро зоны: Доступная графическая память: 6038562 КиБ
[ 3.314688] [TTM] Зона dma32: Доступная графическая память: 2097152 КиБ
[ 3.314780] [drm] amdgpu: готово 4096 Мб видеопамяти
[ 3.314782] [drm] amdgpu: 4096M памяти GTT готово.

Я действительно не знаю, что я ищу, и буду рад любому совету. Меня особенно смущает тот факт, что он это показал и я смог его использовать. Что я мог сделать не так?

Обновление 1: я побежал sudo dmidecode -t память, что дает вывод:

# dmidecode 3.2
Получение данных SMBIOS из sysfs.
SMBIOS 3.3.0 присутствует.
# Реализации SMBIOS новее версии 3.2.0 не поддерживаются.
# полностью поддерживается этой версией dmidecode.

Дескриптор 0x0001, тип DMI 16, 23 байта
Массив физической памяти
    Расположение: системная плата или материнская плата
    Использование: системная память
    Тип исправления ошибок: Нет
    Максимальная емкость: 64 ГБ
    Обработчик информации об ошибке: 0x0000
    Количество устройств: 2

Дескриптор 0x0008, тип DMI 17, 92 байта
Устройство памяти
    Дескриптор массива: 0x0001
    Обработчик информации об ошибке: 0x0007
    Общая ширина: 64 бита
    Ширина данных: 64 бита
    Размер: 16384 МБ
    Форм-фактор: SODIMM
    Набор: Нет
    Местонахождение: DIMM 0
    Расположение банка: P0 КАНАЛ A
    Тип: DDR4
    Сведения о типе: синхронный небуферизованный (незарегистрированный)
    Скорость: 3200 МТ/с
    Производитель: Хайникс
    Серийный номер: 00000000
    Тег актива: не указано
    Номер детали: HMAB2GS6AMR6N-XN    
    Ранг: 1
    Настроенная скорость памяти: 3200 МТ/с
    Минимальное напряжение: 1,2 В
    Максимальное напряжение: 1,2 В
    Настроенное напряжение: 1,2 В
    Технология памяти: DRAM
    Возможности режима работы памяти: Энергонезависимая память
    Версия прошивки: неизвестна
    ID производителя модуля: Bank 1, Hex 0xAD
    Идентификатор продукта модуля: неизвестно
    Идентификатор производителя контроллера подсистемы памяти: неизвестно
    Идентификатор продукта контроллера подсистемы памяти: неизвестно
    Неизменяемый размер: нет
    Нестабильный размер: 16 ГБ
    Размер кэша: нет
    Логический размер: нет

Дескриптор 0x000B, тип DMI 17, 92 байта
Устройство памяти
    Дескриптор массива: 0x0001
    Обработчик информации об ошибке: 0x000A
    Общая ширина: неизвестна
    Ширина данных: неизвестно
    Размер: модуль не установлен
    Форм-фактор: неизвестен
    Набор: Нет
    Местонахождение: DIMM 0
    Расположение банка: P0 КАНАЛ B
    Тип: Неизвестно
    Тип Детали: Неизвестно
    Скорость: Неизвестно
    Производитель: Нуль
    Серийный номер: нулевой
    Тег актива: не указано
    Номер детали: нуль
    Ранг: Неизвестно
    Настроенная скорость памяти: неизвестно
    Минимальное напряжение: неизвестно
    Максимальное напряжение: неизвестно
    Настроенное напряжение: неизвестно
    Технология памяти: неизвестно
    Возможности режима работы памяти: неизвестно
    Версия прошивки: неизвестна
    ID производителя модуля: Неизвестно
    Идентификатор продукта модуля: неизвестно
    Идентификатор производителя контроллера подсистемы памяти: неизвестно
    Идентификатор продукта контроллера подсистемы памяти: неизвестно
    Неизменяемый размер: нет
    Нестабильный размер: нет
    Размер кэша: нет
    Логический размер: нет

Обновление 2: Мои характеристики:

Процессор: AMD Ryzen™ 7 PRO (5850U)

Графический процессор: Radeon RX Vega 8

Оперативная память: 16 ГБ DDR4 3200 МГц (фирма не знаю)
флаг jp
Вы знаете, что такое физическое оборудование? Это случайно не 4 DIMM по 4 Гб? Если да, не могли бы вы опубликовать вывод `sudo dmidecode -t memory`. (Я не знаю, установлен ли dmidecode по умолчанию. Просто установите его, это полезный инструмент)
флаг jp
Кроме того, не могли бы вы указать, что это за процессор? Если это AMD APU (то есть «встроенная графика» AMD), возможно, вы зарезервировали 4 ГБ в своей прошивке для APU. Спрашиваю, потому что вижу, что dmesg сообщает о 4GB RAM для вашей видеокарты, но если это APU, а не дискретная видеокарта, то она будет взята из основной памяти. Обычно в вашей прошивке для этого установлено значение «Автоматически», но многие люди получают «совет», что им следует установить «максимально возможное», а затем удивляются, что основной оперативной памяти больше нет. Опять же, это применимо только в том случае, если у вас есть APU, а не дискретная видеокарта.
Fadi avatar
флаг co
запустите `sudo lshw -c memory` и проверьте размер памяти
DeerFreak avatar
флаг th
Я опубликовал спецификации в обновлении 2. @jawtheshark Да, у меня есть встроенный графический процессор Radeon RX Vega 8. Означает ли это, что я не могу вернуть недостающую оперативную память? Или каковы шаги, чтобы изменить это? Спасибо
флаг jp
Итак, мы знаем, что у вас ровно 1 модуль DIMM размером 16 ГБ. Итак, у вас *должно* быть 16 Гб и маловероятно, что флешка бракованная на 25% и сообщает об этом как таковую. Тем не менее, у вас есть APU. Таким образом, видеокарта использует системную оперативную память и не имеет собственной видеопамяти.
флаг jp
Я думаю, мы ищем причину: графическая часть APU резервирует для своего использования 4 ГБ оперативной памяти системы. Я предполагаю, что вы установили его таким образом, потому что я не думаю, что это настройка по умолчанию. Что вам нужно сделать, это зайти в свою прошивку (BIOS / uEFI) и найти вариант, где вы выделяете ОЗУ для встроенной видеокарты. Установите его обратно на «Авто». Увы, не могу сказать, где именно, каждая прошивка разная (BIOS/uEFI).
DeerFreak avatar
флаг th
@jawtheshark Я установил размер буфера кадра UMA на автоматический (настройка, которая уже была включена), и размер моей оперативной памяти не изменился до нормального. Однако установка его только на 1G увеличила объем оперативной памяти, как я и ожидал. Так что проблема определенно в UMA. Опасно ли устанавливать вручную? И почему «авто» не восстанавливает всю мою оперативную память? Спасибо большое
heynnema avatar
флаг ru
Процессоры AMD Ryzen требовательны к памяти. Покажите мне `sudo dmidecode -s bios-version` и сообщите ТОЧНЫЙ номер марки/модели вашего компьютера или материнской платы. Также зайдите на https://www.memtest86.com/ и загрузите/запустите их бесплатный memtest, чтобы проверить свою память.Получите хотя бы один полный проход всех тестов 4/4, чтобы подтвердить хорошую память. Это может занять несколько часов.
флаг jp
@DeerFreak Не устанавливать его вручную не опасно. Тогда кажется, что «Авто» по умолчанию резервирует 4 ГБ по какой-либо причине. Это сказано в вашем dmesg, но я действительно удивлен, что он резервирует так много на «Авто». Если у вас Windows, какое поведение показывает Windows?
DeerFreak avatar
флаг th
У меня есть только установка Ubuntu, но я могу очень быстро загрузить флешку Windows.
флаг jp
@heynnema Да, процессоры Ryzen привередливы, но, учитывая конфигурацию (1x16 ГБ DIMM), это, скорее всего, не самодельная установка (я бы даже поспорил, что это ноутбук), поэтому очень маловероятно, что это планка оперативной памяти, тем более занимает ровно 4гб. Предварительно собранная система обычно имеет правильное соответствие ОЗУ и ЦП, чтобы избежать возвратов. В общем, сделать мемтест — хорошая идея, но маловероятно, что проблема именно в нем. Кроме того, вы должны отправлять людей на версию с открытым исходным кодом http://www.memtest.org/
флаг jp
@DeerFreak Это было в основном из любопытства. Дело в том, что «Авто» обычно означает, что операционная система может динамически запрашивать больше (или меньше) оперативной памяти для APU. В обычном окружении рабочего стола это было бы минимально, а в игре потребовалось бы все. Возможно, драйверы Linux не поддерживают это и поэтому просто хватают все, что могут.
флаг jp
Я только что зашел в свой SteamBox. Я построил его несколько лет назад на Ryzen 3 2200G. Я никогда не удосужился проверить, какой объем ОЗУ используется, потому что даже когда у него было всего 8 ГБ ОЗУ, все работало нормально, и он в основном использовался как «консольный опыт». Он был обновлен до 32 ГБ ОЗУ, когда ОЗУ было дешевым. Несмотря на это, максимум, который может зарезервировать 2200G, составляет 2 ГБ, и... действительно, я нахожу точно такую ​​же строку в своем dmesg: `[1.397340] [drm] amdgpu: 2048M памяти VRAM ready`. Для `free -m` он также показывает мне только 30 ГБ. Я бы сказал, что это нормальное поведение (в Linux) для APU AMD.
флаг jp
Если вы не играете в игры и вам не нужно резервирование 4 ГБ видеопамяти (например, машина в основном используется для настольных приложений), просто уменьшите резервирование во встроенном программном обеспечении. 1 ГБ достаточно для обычного использования на рабочем столе.
DeerFreak avatar
флаг th
Во-первых, большое спасибо за помощь :) Во-вторых, я немного озадачен, так как я купил этот компьютер специально для кодирования и запуска кода, который не является тяжелым для графического процессора. Для этого у меня есть вторая машина гораздо большего размера. Поэтому я не ожидал, что внутренний графический процессор будет мешать чему-либо.
флаг jp
Если вы посмотрите на эту документацию по ядру: https://www.kernel.org/doc/html/latest/gpu/amdgpu.html Вы заметите следующий параметр: `vramlimit (int) --> Ограничьте общий объем видеопамяти в МиБ для тестирования. По умолчанию 0 (использовать полную VRAM).` Итак, вот оно: по умолчанию резервируется вся возможная видеопамять, и если «Авто» сообщает системе «мой максимум 4 ГБ», она захватит все 4 ГБ...
DeerFreak avatar
флаг th
@heynnema Спасибо, что нашли время, но я думаю, что мы решили проблему. Я собираюсь закрыть тему.
heynnema avatar
флаг ru
@jawtheshark memtest.org — это ответвление memtest86.org. На сайте memtest.org написано *"Вот Memtest86+ 5.31b с множеством исправлений ошибок в основных функциях. Эта сборка еще не готова к производству, потому что в ней отсутствуют отзывы бета-тестеров"*. На сайте memtest86.org говорится: «MemTest86 — это оригинальное бесплатное автономное программное обеспечение для тестирования памяти для компьютеров x86 и ARM»*.
DeerFreak avatar
флаг th
Да, компьютер у меня ноутбук. У меня есть эта модель: https://www.lenovocampus.de/wp-content/uploads/2021/08/ThinkPadP14sGen2Datasheet-Final.pdf
флаг jp
Да, @heynnema, и это не открытый исходный код и не бесплатное программное обеспечение. Всегда предпочитайте открытое и свободное программное обеспечение проприетарному программному обеспечению. Memtest86+ — это просто бесплатная программа, а не бесплатное ПО. Разница есть, и разница существенная.
Рейтинг:1
флаг th

Этот ответ был в основном предоставлен JawtheShark в комментариях. Я собираюсь обобщить это здесь, чтобы закрыть вопрос. Проблема в том, что Linux берет для интегрированных графических процессоров часть оперативной памяти и использует ее как видеопамять. Графическая часть APU резервирует для своего использования 4 ГБ оперативной памяти системы. Глядя на эту документацию по ядру: kernel.org/doc/html/latest/gpu/amdgpu.html Параметр: vramlimit (int) --> Ограничить общий объем VRAM в MiB для тестирования. По умолчанию 0 (использовать полную VRAM). Это означает, что опция «авто» для делегирования оперативной памяти встроенному графическому процессору делегирует большой объем оперативной памяти графическому процессору. Поскольку я использую машину только как рабочую станцию, я установлю для параметра «авто» в биосе значение «1 ГБ», минимум.

Рейтинг:0
флаг sa

Ubuntu не определяет всю установленную емкость ОЗУ, возможно, из-за аппаратного сбоя на одной из планок ОЗУ, которую при желании можно заменить новой картой памяти того же типа, емкости и тактовой частоты, чтобы восстановить емкость ОЗУ до исходного состояния. оригинал 16гб. Выполните следующую команду, чтобы отобразить все слоты оперативной памяти и установить, установлена ​​ли в каждом слоте карта оперативной памяти.

sudo dmidecode -t память

Пример частичных результатов sudo dmidecode -t память :

Количество устройств: 4

Дескриптор 0x0011, тип DMI 17, 84 байта
Устройство памяти
    Дескриптор массива: 0x0009
    Обработчик информации об ошибке: 0x0010
    Общая ширина: неизвестна
    Ширина данных: неизвестно
    Размер: Модуль не установлен

Полные результаты приведенного выше примера показывают, что главный компьютер имеет 4 слота ОЗУ, а в двух из четырех слотов ОЗУ в настоящее время установлен модуль ОЗУ. Он также покажет емкость каждого установленного модуля оперативной памяти и максимальную емкость оперативной памяти главного компьютера.

DeerFreak avatar
флаг th
Спасибо за ваш ответ. Я выполнил команду и получил следующий стандартный вывод: ``` Дескриптор 0x0008, тип DMI 17, 92 байта Устройство памяти [...] Размер: 16384 МБ [...] Дескриптор 0x000B, тип DMI 17, 92 байта Устройство памяти [...] Размер: модуль не установлен [...] ``` Если я правильно понимаю: у меня есть два слота для RAM-Stick. Установлен только один, но он будет иметь емкость, которую я ищу (16 ГиБ). Что не так с первым слотом?
karel avatar
флаг sa
Со слотом для оперативной памяти все в порядке, и ваш компьютер обнаруживает флешку, но, согласно «бесплатно», доступно только 12 ГБ из установленных 16 ГБ. Я изучу этот вывод терминала и отредактирую свой вопрос, если найду что-нибудь стоящее публикации.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.