Jump to content

Linux on my Notebook does not use all of RAM

 

 

I own a Lenovo V155 Notebook with a Ryzen 3500U with 8GiB of RAM and I always noticed that Linux does not use all the RAM. So I digged a bit into this and found that the e820 and efi memory map do not list the complete memory. For one they have a few large holes and they don't seem to reach the end address of 8GiB.

reserve setup_data: [mem 0x0000000000000000-0x000000000009efff] usable
reserve setup_data: [mem 0x000000000009f000-0x000000000009ffff] reserved
reserve setup_data: [mem 0x00000000000e0000-0x00000000000fffff] reserved
reserve setup_data: [mem 0x0000000000100000-0x0000000009bfffff] usable
reserve setup_data: [mem 0x0000000009c00000-0x0000000009cd0fff] reserved
reserve setup_data: [mem 0x0000000009cd1000-0x0000000009efffff] usable
reserve setup_data: [mem 0x0000000009f00000-0x0000000009f0afff] ACPI NVS
reserve setup_data: [mem 0x0000000009f0b000-0x00000000b19f5017] usable
reserve setup_data: [mem 0x00000000b19f5018-0x00000000b1a02457] usable
reserve setup_data: [mem 0x00000000b1a02458-0x00000000b857dfff] usable
reserve setup_data: [mem 0x00000000b857e000-0x00000000bc77dfff] reserved
reserve setup_data: [mem 0x00000000bc77e000-0x00000000be77dfff] ACPI NVS
reserve setup_data: [mem 0x00000000be77e000-0x00000000be7fdfff] ACPI data
reserve setup_data: [mem 0x00000000be7fe000-0x00000000bf7fffff] usable
reserve setup_data: [mem 0x00000000bf800000-0x00000000bfffffff] reserved
reserve setup_data: [mem 0x00000000fd200000-0x00000000fd2fffff] reserved
reserve setup_data: [mem 0x00000000fed80000-0x00000000fed80fff] reserved
reserve setup_data: [mem 0x0000000100000000-0x00000001beffffff] usable

is the memory map from dmesg, which has (I guess) the following holes:

  • 978MiB: 0xbfffffff-0xfd200000 (partially used by GPU)
  • 27MiB: 0xfd2fffff-fed80000
  • 18MiB: 0xfed80fff-0x100000000
  • 410MiB: 0x1beffffff-0x1ffffffff (I would expect 0x1ffffffff as last address?)

I had a quick look into what grub's lsmmap and lsefimmap show and while they show all entries and not just the merged ones it has the same holes.

 

 

I don't really know whether windows used all memory, after I bought the notebook.

Unfortunately my BIOS has basically no settings not even for the GPUs shared memory size. But lshw -C display tells me it uses memory:c0000000-cfffffff memory:d0000000-d01fffff ioport:1000(Größe=256) memory:d0800000-d087ffff which is a bit more than 256MiB. Which is in one of the holes, but not uses all of it.

  • Am I getting anything important wrong here?
  • Is there any way to debug this further?
  • Is there any way to manually specify further memory areas? (I guess by writing a kernel module? But besides that?)
Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×