Linux recognize only partial memory
2013-08
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
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)
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?
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.
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.