You are not logged in.

#1 2022-11-16 22:53:51

benpicco
Member
From: Berlin
Registered: 2022-11-08
Posts: 16

30 MiB of RAM 'reserved'?

Hi,
my machine only has 160 MiB of RAM (32 + 128) but on Linux I only see

               total        used        free      shared  buff/cache   available
Mem:           132Mi        29Mi        35Mi       0.0Ki        67Mi        96Mi
Swap:          511Mi          0B       511Mi

The memory is detected correctly (and I already set iommu=off), but then a large chunk of it is reserved - for what?

[    0.000000] Linux version 6.0.8-arch1-1.0 (linux@archlinux) (gcc (GCC) 12.2.0, GNU ld (GNU Binutils) 2.39.0) #1 SMP PREEMPT_DYNAMIC Sun, 13 Nov 2022 19:06:25 +0000
[    0.000000] x86/fpu: x87 FPU will use FXSAVE
[    0.000000] signal: max sigframe size: 1440
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x0000000009feffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000009ff0000-0x0000000009ffffbf] ACPI data
[    0.000000] BIOS-e820: [mem 0x0000000009ffffc0-0x0000000009ffffff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
[    0.000000] Notice: NX (Execute Disable) protection missing in CPU!
[    0.000000] SMBIOS 2.3 present.
[    0.000000] DMI: MiTAC 6133/PWA-6133, BIOS Version R1.13  10/26/1999
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.000000] tsc: Detected 464.588 MHz processor
[    0.008116] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.008169] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.008221] last_pfn = 0x9ff0 max_arch_pfn = 0x100000
[    0.008550] x86/PAT: PAT not supported by the CPU.
[    0.009808] x86/PAT: Configuration [0-7]: WB  WT  UC- UC  WB  WT  UC- UC  
[    0.041958] initial memory mapped: [mem 0x00000000-0x04bfffff]
[    0.042295] RAMDISK: [mem 0x08a14000-0x0927dfff]
[    0.042336] ACPI: Early table checksum verification disabled
[    0.042380] ACPI: RSDP 0x00000000000F0010 000014 (v00 OID_00)
[    0.042431] ACPI: RSDT 0x0000000009FFFBD0 000028 (v01 OID_00 RSDT_000 30303030 ?&   00010000)
[    0.042500] ACPI: FACP 0x0000000009FFFB50 000074 (v01 OID_00 FACP_000 30303030 ?&   00010000)
[    0.042580] ACPI: DSDT 0x0000000009FFCEA0 002CAA (v01 INT440 SYSFexxx 00001001 MSFT 0100000B)
[    0.042634] ACPI: FACS 0x0000000009FFFFC0 000040
[    0.042669] ACPI: Reserving FACP table memory at [mem 0x9fffb50-0x9fffbc3]
[    0.042686] ACPI: Reserving DSDT table memory at [mem 0x9ffcea0-0x9fffb49]
[    0.042701] ACPI: Reserving FACS table memory at [mem 0x9ffffc0-0x9ffffff]
[    0.042751] ACPI: Vendor "INT440" System "SYSFexxx" Revision 0x1001 has a known ACPI BIOS problem.
[    0.042768] ACPI: Reason: Does not use _REG to protect EC OpRegions. This is a non-recoverable error
[    0.042811] ACPI: Disabling ACPI support
[    0.042819] 0MB HIGHMEM available.
[    0.042828] 159MB LOWMEM available.
[    0.042838]   mapped low ram: 0 - 09ff0000
[    0.042847]   low ram: 0 - 09ff0000
[    0.042911] Zone ranges:
[    0.042918]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.042939]   Normal   [mem 0x0000000001000000-0x0000000009feffff]
[    0.042959]   HighMem  empty
[    0.042971] Movable zone start for each node
[    0.042977] Early memory node ranges
[    0.042983]   node   0: [mem 0x0000000000001000-0x000000000009efff]
[    0.042998]   node   0: [mem 0x0000000000100000-0x0000000009feffff]
[    0.043015] Initmem setup node 0 [mem 0x0000000000001000-0x0000000009feffff]
[    0.043101] On node 0, zone DMA: 1 pages in unavailable ranges
[    0.044053] On node 0, zone DMA: 97 pages in unavailable ranges
[    0.059357] Using APIC driver default
[    0.059512] Local APIC disabled by BIOS -- you can enable it with "lapic"
[    0.059521] APIC: disable apic facility
[    0.059528] APIC: switched to apic NOOP
[    0.059543] smpboot: Allowing 1 CPUs, 0 hotplug CPUs
[    0.059654] PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff]
[    0.059682] PM: hibernation: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[    0.059695] PM: hibernation: Registered nosave memory: [mem 0x000a0000-0x000effff]
[    0.059707] PM: hibernation: Registered nosave memory: [mem 0x000f0000-0x000fffff]
[    0.059731] [mem 0x0a000000-0xfffbffff] available for PCI devices
[    0.059746] Booting paravirtualized kernel on bare hardware
[    0.059776] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns
[    0.059868] setup_percpu: NR_CPUS:64 nr_cpumask_bits:64 nr_cpu_ids:1 nr_node_ids:1
[    0.062047] percpu: Embedded 33 pages/cpu s104724 r0 d30444 u135168
[    0.062125] pcpu-alloc: s104724 r0 d30444 u135168 alloc=33*4096
[    0.062162] pcpu-alloc: [0] 0 
[    0.062358] Built 1 zonelists, mobility grouping on.  Total pages: 40446
[    0.062391] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-linux root=UUID=cf85e748-884d-46d8-879c-e048750dbdf0 rw mitigations=off iommu=off loglevel=3 quiet
[    0.064499] Unknown kernel command line parameters "BOOT_IMAGE=/boot/vmlinuz-linux", will be passed to user space.
[    0.065263] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.065928] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.067824] allocated 167868 bytes of page_ext
[    0.088292] mem auto-init: stack:off, heap alloc:on, heap free:off
[    0.088357] Initializing HighMem for node 0 (00000000:00000000)
[    0.107127] Checking if this processor honours the WP bit even in supervisor mode...Ok.
[    0.107219] Memory: 125824K/163384K available (11234K kernel code, 1350K rwdata, 9748K rodata, 948K init, 648K bss, 37560K reserved, 0K cma-reserved, 0K highmem)

Offline

#2 2022-11-17 07:50:00

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 1,032
Website

Re: 30 MiB of RAM 'reserved'?

In the past using 'iommu=off' helped to regain some memory.
It might also be possible to patch out some KASLR stuff..

'reserved' usually means, that those parts of memory are blocked by I/O ports
or memory areas for DMA or mapped ROMs.. Disabling some ROM-mapping
into RAM might also help.

Offline

Board footer

Powered by FluxBB