Linux recognize only partial memory

24
2013-08
  • themind24

    I tried different linux distro (Ubuntu 12.10 Gnome Remix, Fedora 18, Bridge Linux) on my new laptop but all of them have a problem with memory. My laptop has 4 GB memory but Ubuntu recognize only 2,4 GB. Obviously both BIOS and Windows 8 recognize all 4GB.

    My laptop configuration: Lenovo B590 CPU: Intel Core i5-3210M Ram: 4 GB DDR3-SDRAM Chipset motherboard: Intel HM77 Express Integrated graphics: HD Graphics 4000.

    it may be possible that the lost memory is borrowed from Intel HD Graphics? if it's true, it always borrows fixed maximum memory?!

    Some useful command outputs:

    midecode --type memory
    
    Array Handle: 0x000B
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: SODIMM
    Set: None
    Locator: ChannelB-DIMM0
    Bank Locator: BANK 2
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1600 MHz
    Manufacturer: Hynix/Hyundai
    Serial Number: 1A21B5B9
    Asset Tag: 9876543210
    Part Number: HMT351S6EFR8C-PB  
    Rank: Unknown
    Configured Clock Speed: 1600 MHz
    
    
    free -m
    
                  total       used       free     shared    buffers     cached
    Mem:          2483       1136       1346          0         56        515
    -/+ buffers/cache:        563       1919
    Swap:         4884          0       4884
    
    
    cat /proc/meminfo | grep "Mem*"
    
    MemTotal:        2542664 kB
    MemFree:         1373552 kB
    
    
    dmesg | grep -i memory
    
    [    0.000000] initial memory mapped: [mem 0x00000000-0x1fffffff]
    [    0.000000] Base memory trampoline at [ffff880000097000] 97000 size 24576
    [    0.000000] init_memory_mapping: [mem 0x00000000-0x846f1fff]
    [    0.000000] init_memory_mapping: [mem 0x100000000-0x11e5fffff]
    [    0.000000] Early memory node ranges
    [    0.000000] PM: Registered nosave memory: 000000000009d000 - 00000000000a0000
    [    0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000e0000
    [    0.000000] PM: Registered nosave memory: 00000000000e0000 - 0000000000100000
    [    0.000000] PM: Registered nosave memory: 0000000020000000 - 0000000020200000
    [    0.000000] PM: Registered nosave memory: 0000000040004000 - 0000000040005000
    [    0.000000] PM: Registered nosave memory: 00000000846f2000 - 00000000dae9f000
    [    0.000000] PM: Registered nosave memory: 00000000dae9f000 - 00000000daf9f000
    [    0.000000] PM: Registered nosave memory: 00000000daf9f000 - 00000000dafff000
    [    0.000000] PM: Registered nosave memory: 00000000dafff000 - 00000000dfa00000
    [    0.000000] PM: Registered nosave memory: 00000000dfa00000 - 00000000f8000000
    [    0.000000] PM: Registered nosave memory: 00000000f8000000 - 00000000fc000000
    [    0.000000] PM: Registered nosave memory: 00000000fc000000 - 00000000fe800000
    [    0.000000] PM: Registered nosave memory: 00000000fe800000 - 00000000fe810000
    [    0.000000] PM: Registered nosave memory: 00000000fe810000 - 00000000fec00000
    [    0.000000] PM: Registered nosave memory: 00000000fec00000 - 00000000fec01000
    [    0.000000] PM: Registered nosave memory: 00000000fec01000 - 00000000fed08000
    [    0.000000] PM: Registered nosave memory: 00000000fed08000 - 00000000fed09000
    [    0.000000] PM: Registered nosave memory: 00000000fed09000 - 00000000fed10000
    [    0.000000] PM: Registered nosave memory: 00000000fed10000 - 00000000fed1a000
    [    0.000000] PM: Registered nosave memory: 00000000fed1a000 - 00000000fed1c000
    [    0.000000] PM: Registered nosave memory: 00000000fed1c000 - 00000000fed20000
    [    0.000000] PM: Registered nosave memory: 00000000fed20000 - 00000000fee00000
    [    0.000000] PM: Registered nosave memory: 00000000fee00000 - 00000000fee01000
    [    0.000000] PM: Registered nosave memory: 00000000fee01000 - 00000000ffc20000
    [    0.000000] PM: Registered nosave memory: 00000000ffc20000 - 0000000100000000
    [    0.000000] Memory: 2515460k/4691968k available (6711k kernel code, 2027016k absent, 149492k reserved, 6459k data, 928k init)
    [    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
    [    0.001851] Initializing cgroup subsys memory
    [    0.522565] Freeing initrd memory: 23680k freed
    [    1.430344] Freeing unused kernel memory: 928k freed
    [    1.433360] Freeing unused kernel memory: 1472k freed
    [    1.435653] Freeing unused kernel memory: 1124k freed
    [    1.471316] pci 0000:00:00.0: >detected 65536K stolen memory
    [   16.146844] Non-volatile memory driver v1.3
    

    Linux antonio-Notebook 3.5.0-17-generic #28-Ubuntu SMP
    Tue Oct 9 19:31:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

    dmesg | grep BIOS-e820
    
    [    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009cfff] usable
    [    0.000000] BIOS-e820: [mem 0x000000000009d000-0x000000000009ffff] reserved
    [    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
    [    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001fffffff] usable
    [    0.000000] BIOS-e820: [mem 0x0000000020000000-0x00000000201fffff] reserved
    [    0.000000] BIOS-e820: [mem 0x0000000020200000-0x0000000040003fff] usable
    [    0.000000] BIOS-e820: [mem 0x0000000040004000-0x0000000040004fff] reserved
    [    0.000000] BIOS-e820: [mem 0x0000000040005000-0x00000000846f1fff] usable
    [    0.000000] BIOS-e820: [mem 0x00000000846f2000-0x00000000dae9efff] reserved
    [    0.000000] BIOS-e820: [mem 0x00000000dae9f000-0x00000000daf9efff] ACPI NVS
    [    0.000000] BIOS-e820: [mem 0x00000000daf9f000-0x00000000daffefff] ACPI data
    [    0.000000] BIOS-e820: [mem 0x00000000dafff000-0x00000000df9fffff] reserved
    [    0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reserved
    [    0.000000] BIOS-e820: [mem 0x00000000fe800000-0x00000000fe80ffff] reserved
    [    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
    [    0.000000] BIOS-e820: [mem 0x00000000fed08000-0x00000000fed08fff] reserved
    [    0.000000] BIOS-e820: [mem 0x00000000fed10000-0x00000000fed19fff] reserved
    [    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
    [    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
    [    0.000000] BIOS-e820: [mem 0x00000000ffc20000-0x00000000ffffffff] reserved
    [    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000011e5fffff] usable
    
  • Answers
    Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

    Related Question

    laptop - Mobile Intel Intergrated Graphics - Changing Shared Graphics Memory?
  • Questioner

    I have a Fujitsu Laptop, and it came with 4GB of RAM and an Integrated Intel Graphics adapter. As only 3Gb's shows up to the OS, I'd like to decrease the amount of shared Graphics Memory. I checked in the BIOS and graphics properties but can’t seem to find where to make the changes. If anyone has experienced the same I’d be interested to know. As I could never imagine an intergraded graphics adapter using anything above 256MB, even with a large external monitor attached!!

    Here are the details: Laptop is a Fujitsu Lifebook S7220 Model FJNB1E7

    Intel(R) Graphics Media Accelerator Driver for Mobile Report
    Report Date:    	09/06/2009
    Report Time[hr:mm:ss]:  10:42:53
    Driver Version: 	6.14.10.4953
    Operating System:   	Windows XP* Professional, Service Pack 3 (5.1.2600)
    Default Language:   	German
    DirectX* Version:   	9.0
    Physical Memory:    	3025 MB
    Minimum Graphics Memory:    32 MB
    Maximum Graphics Memory:    1024 MB
    Graphics Memory in Use: 10 MB
    Processor:  	x86 family 6 Model 23 Stepping 10
    Processor Speed:    	2666 MHZ
    Vendor ID:  	8086
    Device ID:  	2A42
    Device Revision:    	07
    
    *   Accelerator Information   *
    Accelerator in Use: 	Mobile Intel(R) 4 Series Express Chipset Family
    Video BIOS: 	1646.0
    Current Graphics Mode:  1440 x 900 True Color (58 Hz)
    

  • Related Answers
  • Diago

    shared memory is dynamically adjusted depending on the requirements.

    and if you're wondering why you only see 3~ GB RAM, read this: Dude, Where's My 4 Gigabytes of RAM?

  • nik

    I suspect this has more to do with the 4GB addressing limit related configurations
    rather than graphics shared memory.

    Besides the Codinghorror link already given by Molly,
    there are Pushing the Limits of Windows posts by Mark Russinovich for further reading.

  • William Hilsum

    First things first, is your machine 64 bit? That would limit you to ~3GB anyway.

    Next, if you can go in to the BIOS, you can usually limit the maximum amount of memory that the Intel Graphics can take up - take a look.