CentOS 8 работает на VPS с 1 ГБ оперативной памяти.
dmesg показывает:
Память: 216012K/1048040K доступно
Итак, я считаю, что BIOS видит 1 073 192 960 байт. Тогда, как бесплатно -б
читает, в ОЗУ всего 997 236 736 байт.
Таким образом, мы можем увидеть пробел 75 956 224 = 1 073 192 960-997 236 736 байт. Другими словами, 72+ МБ «неиспользуемой» памяти.
Как вернуть эту память в ОС? Или как узнать, где он «спрятан»?
Кстати, kdump отключен: cat /sys/kernel/kexec_crash_size
0
УПД:
Начало dmesg по поводу памяти:
Предоставляемая BIOS карта физической памяти:
BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] можно использовать
BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] зарезервировано
BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] зарезервировано
BIOS-e820: [mem 0x0000000000100000-0x000000003ffdbfff] можно использовать
BIOS-e820: [память 0x000000003ffdc000-0x000000003ffffffff] зарезервирована
BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] зарезервировано
BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] зарезервировано
Защита NX (Execute Disable): активна
SMBIOS 2.8 присутствует.
DMI: Red Hat KVM, BIOS 1.11.0-2.el7 01.04.2014
Обнаружен гипервизор: KVM
kvm-clock: использование msrs 4b564d01 и 4b564d00
kvm-clock: процессор 0, msr a001001, часы основного процессора
kvm-clock: с использованием запланированного смещения 7965121487 циклов
источник часов: kvm-часы: маска: 0xffffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 нс
tsc: Обнаружен процессор 2199,996 МГц
e820: обновить [mem 0x00000000-0x00000fff] можно использовать ==> зарезервировано
e820: удалить [mem 0x000a0000-0x000fffff], пригодный для использования
last_pfn = 0x3ffdc max_arch_pfn = 0x400000000
Тип MTRR по умолчанию: обратная запись
Включены фиксированные диапазоны MTRR:
00000-9FFFF обратная запись
A0000-BFFFF не кэшируется
C0000-FFFFF защита от записи
Включены диапазоны переменных MTRR:
0 база 000080000000 маска 3FFF80000000 некэшируемая
1 инвалид
2 инвалида
3 инвалида
4 инвалида
5 инвалидов
6 инвалидов
7 инвалидов
x86/PAT: Конфигурация [0-7]: WB WC UC-UC WB WP UC-WT
kexec: резервирование младших 1M памяти для crashkernel
Использование GB-страниц для прямого сопоставления
BRK [0x0a201000, 0x0a201fff] PGTABLE
BRK [0x0a202000, 0x0a202fff] PGTABLE
BRK [0x0a203000, 0x0a203fff] PGTABLE
BRK [0x0a204000, 0x0a204fff] PGTABLE
BRK [0x0a205000, 0x0a205fff] PGTABLE
RAMDISK: [память 0x3506f000-0x3682ffff]
ACPI: ранняя проверка контрольной суммы таблицы отключена
ACPI: RSDP 0x00000000000F6280 000014 (v00 BOCHS)
ACPI: RSDT 0x000000003FFE348A 00002C (v01 BOCHS BXPCRSDT 00000001 BXPC 00000001)
ACPI: FACP 0x000000003FFE30EE 000074 (v01 BOCHS BXPCFACP 00000001 BXPC 00000001)
ACPI: DSDT 0x000000003FFE0040 0030AE (v01 BOCHS BXPCDSDT 00000001 BXPC 00000001)
ACPI: FACS 0x000000003FFE0000 000040
ACPI: APIC 0x000000003FFE3162 000328 (v01 BOCHS BXPCAPIC 00000001 BXPC 00000001)
ACPI: локальный адрес APIC 0xfee00000
Конфигурация NUMA не найдена
Подделка узла по адресу [mem 0x0000000000000000-0x000000003ffdbfff]
NODE_DATA(0) выделено [память 0x3ffb2000-0x3ffdbffff]
Crashkernel: ожидаемое значение памяти
Диапазоны зон:
DMA [память 0x0000000000001000-0x0000000000ffffff]
DMA32 [мем 0x0000000001000000-0x000000003ffdbfff]
Нормальный пустой
Устройство пусто
Начало подвижной зоны для каждого узла
Ранние диапазоны узлов памяти
узел 0: [память 0x0000000000001000-0x000000000009efff]
узел 0: [память 0x0000000000100000-0x000000003ffdbfff]
Обнуленная страница структуры в недоступных диапазонах: 134 страницы
Узел настройки initmem 0 [mem 0x0000000000001000-0x000000003ffdbfff]
На узле 0 всего страниц: 262010
Зона прямого доступа к памяти: 64 страницы, используемые для меммап
Зона прямого доступа к памяти: зарезервировано 158 страниц
Зона прямого доступа к памяти: 3998 страниц, партия LIFO: 0
Зона DMA32: 4032 страницы используются для memmap
Зона DMA32: 258012 страниц, пакет LIFO: 63
ACPI: порт ввода-вывода таймера PM: 0x608
ACPI: локальный адрес APIC 0xfee00000
ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
IOAPIC[0]: apic_id 0, версия 17, адрес 0xfec00000, GSI 0–23.
ACPI: INT_SRC_OVR (шина 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (шина 0 bus_irq 5 global_irq 5 высокий уровень)
ACPI: INT_SRC_OVR (шина 0 bus_irq 9 global_irq 9 высокий уровень)
ACPI: INT_SRC_OVR (шина 0 bus_irq 10 global_irq 10 высокий уровень)
ACPI: INT_SRC_OVR (шина 0 bus_irq 11 global_irq 11 высокий уровень)
ACPI: IRQ0 используется переопределением.
ACPI: IRQ5 используется переопределением.
ACPI: IRQ9 используется переопределением.
ACPI: IRQ10 используется переопределением.
ACPI: IRQ11 используется переопределением.
Использование ACPI (MADT) для информации о конфигурации SMP
smpboot: разрешено 87 процессоров, 86 процессоров с возможностью горячей замены.
PM: Зарегистрированная память nosave: [mem 0x00000000-0x00000fff]
PM: Зарегистрированная память nosave: [mem 0x0009f000-0x0009ffff]
PM: Зарегистрированная память nosave: [mem 0x000a0000-0x000effff]
PM: Зарегистрированная память nosave: [mem 0x000f0000-0x000ffff]
[mem 0x40000000-0xfeffbfff] доступен для устройств PCI
...
Память: 216012K/1048040K доступно (12293K кода ядра, 2225K rwdata, 7708K Rodata, 2480K init, 14048K bss, 105512K зарезервировано, 0K cma-зарезервировано)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPU=87, Nodes=1
Изоляция таблиц страниц ядра/пользователя: включена
ftrace: размещение 38570 записей на 151 странице
ftrace: выделено 151 страница с 5 группами