You are not logged in.

#1 2013-08-08 06:05:12

beaux_monde
Member
Registered: 2012-12-06
Posts: 43

Linux don't see all laptop's memory

Hi, folks!
I have Lenovo B590 laptop. When I bought it there was windows 7 on it. Windows reported all of 2 GB of RAM in there, but linux (both 32 and 64 bit versions) sees only something like 1,5 GB of RAM. Even MemTest+ booted from CD sees the same thing.
Here some info:

serge@serge-laptop:~$ free
             total       used       free     shared    buffers     cached
Mem:       1561800     618224     943576          0      30176     300620
-/+ buffers/cache:     287428    1274372
Swap:      2097148          0    2097148
serge@serge-laptop:~$ lspci
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation 7 Series Chipset Family LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
02:00.0 Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 07)
serge@serge-laptop:~$ lsusb
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 005: ID 04ca:2007 Lite-On Technology Corp. 
Bus 003 Device 004: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Bus 003 Device 003: ID 04f2:b2fa Chicony Electronics Co., Ltd 
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
serge@serge-laptop:~$ dmesg | grep -i memory
[    0.000000] Scanning 1 areas for low memory corruption
[    0.000000] Base memory trampoline at [ffff880000097000] 97000 size 24576
[    0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[    0.000000] init_memory_mapping: [mem 0x100400000-0x1005fffff]
[    0.000000] init_memory_mapping: [mem 0x100000000-0x1003fffff]
[    0.000000] init_memory_mapping: [mem 0x00100000-0x1fffffff]
[    0.000000] init_memory_mapping: [mem 0x20200000-0x40003fff]
[    0.000000] init_memory_mapping: [mem 0x40005000-0x657cefff]
[    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: 00000000657cf000 - 0000000079e9f000
[    0.000000] PM: Registered nosave memory: 0000000079e9f000 - 0000000079f9f000
[    0.000000] PM: Registered nosave memory: 0000000079f9f000 - 0000000079fff000
[    0.000000] PM: Registered nosave memory: 0000000079fff000 - 000000007ea00000
[    0.000000] PM: Registered nosave memory: 000000007ea00000 - 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: 1556140k/4200448k available (4921k kernel code, 2533976k absent, 110332k reserved, 4044k data, 1124k init)
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.001443] Initializing cgroup subsys memory
[    0.515488] Freeing initrd memory: 2896k freed
[    0.516119] Scanning for low memory corruption every 60 seconds
[    0.566887] Freeing unused kernel memory: 1124k freed
[    0.570570] Freeing unused kernel memory: 1212k freed
[    0.571956] Freeing unused kernel memory: 408k freed
[    5.091561] Non-volatile memory driver v1.3
[    5.455599] [drm] Memory usable by graphics device = 2048M

Have you any ideas?

Offline

#2 2013-08-08 08:43:41

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,600
Website

Re: Linux don't see all laptop's memory

Shared memory allocated to your iGPU?


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#3 2013-08-08 08:54:48

beaux_monde
Member
Registered: 2012-12-06
Posts: 43

Re: Linux don't see all laptop's memory

graysky wrote:

Shared memory allocated to your iGPU?

Maybe. But I don't see the way to change it! There is no something like that in BIOS.

Offline

#4 2013-08-08 16:35:03

ANOKNUSA
Member
Registered: 2010-10-22
Posts: 2,141

Re: Linux don't see all laptop's memory

Linux and Windows handle memory very differently.  I'm guessing the laptop has a 2 Gb RAM stick installed; the fact that Linux sees ~1.5 Gb of RAM means there's nothing wrong with the stick.  What "free" is reporting is the amount of free RAM available for programs that you launch in the future.  The common misconception people have is that free RAM is somehow better than used RAM, even though free RAM doesn't do anything.

EDIT: Incidentally, no matter what operating system you use, you never have access to every byte of RAM.  Windows may "see" that a 2 Gb RAM stick is installed on the motherboard, but by the time you see Windows reporting that on the screen, some of that 2 Gb is already in use.  When Linux calculates how much RAM you have available, it doesn't count the RAM needed to boot up and run the system.  At least, that's my understanding of it.

Last edited by ANOKNUSA (2013-08-08 16:38:06)

Offline

#5 2013-08-08 16:43:25

beaux_monde
Member
Registered: 2012-12-06
Posts: 43

Re: Linux don't see all laptop's memory

ANOKNUSA wrote:

Linux and Windows handle memory very differently.  I'm guessing the laptop has a 2 Gb RAM stick installed; the fact that Linux sees ~1.5 Gb of RAM means there's nothing wrong with the stick.  What "free" is reporting is the amount of free RAM available for programs that you launch in the future.  The common misconception people have is that free RAM is somehow better than used RAM...

This all is good, but what about MemTest+?

Last edited by beaux_monde (2013-08-08 16:44:23)

Offline

#6 2013-08-08 16:52:57

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,564
Website

Re: Linux don't see all laptop's memory

@ANOKNUSA, I think you are overstating some common wisdom.  Some users worry about free not reporting much memory as actually free - and those users could be educated about the values of cache+buffers and "free memory is wasted memory" and all of the like.

But the TOTAL column in the output from `free` should really reflect the total ram installed.  In the OP's case, it is not doing that.


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#7 2013-08-08 17:18:21

alphaniner
Member
From: Ancapistan
Registered: 2010-07-12
Posts: 2,810

Re: Linux don't see all laptop's memory

Re: RAM used by GPU, just because you can't change it doesn't mean it's not the case. You can run lspci -vs <slot> to see how much RAM the GPU has. On my system the GPU is in slot 01:00.0, so

$ lspci -vs 01:00.0
01:00.0 VGA compatible controller: NVIDIA Corporation G86 [GeForce 8400 GS] (rev a1) (prog-if 00 [VGA controller])
	Subsystem: Micro-Star International Co., Ltd. Device 0740
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
	Memory at d0000000 (64-bit, prefetchable) [size=256M]
	Memory at fa000000 (64-bit, non-prefetchable) [size=32M]

If your GPU has 512M, that's a good indication it's sharing system RAM, but it's not definitive.


But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner

Offline

#8 2013-08-08 23:52:17

ANOKNUSA
Member
Registered: 2010-10-22
Posts: 2,141

Re: Linux don't see all laptop's memory

Trilby wrote:

@ANOKNUSA, I think you are overstating some common wisdom.  Some users worry about free not reporting much memory as actually free - and those users could be educated about the values of cache+buffers and "free memory is wasted memory" and all of the like.

But the TOTAL column in the output from `free` should really reflect the total ram installed.  In the OP's case, it is not doing that.

Ah, my mistake.  I somehow overlooked the point about memtest+.

Offline

#9 2013-08-09 09:33:00

beaux_monde
Member
Registered: 2012-12-06
Posts: 43

Re: Linux don't see all laptop's memory

Here is my case:

serge@serge-laptop:~$ sudo lspci -vs 00:02.0
[sudo] password for serge: 
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])
        Subsystem: Lenovo Device 5011
        Flags: bus master, fast devsel, latency 0, IRQ 45
        Memory at 90000000 (64-bit, non-prefetchable) [size=4M]
        Memory at 80000000 (64-bit, prefetchable) [size=256M]
        I/O ports at 3000 [size=64]
        Expansion ROM at <unassigned> [disabled]
        Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [d0] Power Management version 2
        Capabilities: [a4] PCI Advanced Features
        Kernel driver in use: i915
        Kernel modules: i915

But is there any way to change video memory?

Offline

#10 2013-08-09 13:04:48

alphaniner
Member
From: Ancapistan
Registered: 2010-07-12
Posts: 2,810

Re: Linux don't see all laptop's memory

Well, your GPU definitely shares system memory, but at 256M it doesn't account for all the missing RAM.

You could try running dmidecode -t memory (dmidecode binary is in dmidecode package in repos). I expect that should show what's really there regardless of GPU sharing, but I'm not certain.


But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner

Offline

#11 2013-08-10 06:22:51

beaux_monde
Member
Registered: 2012-12-06
Posts: 43

Re: Linux don't see all laptop's memory

alphaniner wrote:

Well, your GPU definitely shares system memory, but at 256M it doesn't account for all the missing RAM.

I see. But this is strange.

alphaniner wrote:

You could try running dmidecode -t memory (dmidecode binary is in dmidecode package in repos). I expect that should show what's really there regardless of GPU sharing, but I'm not certain.

Look:

serge@serge-laptop:~$ sudo dmidecode -t memory
# dmidecode 2.12
SMBIOS 2.7 present.

Handle 0x000C, DMI type 16, 23 bytes
Physical Memory Array
        Location: System Board Or Motherboard
        Use: System Memory
        Error Correction Type: None
        Maximum Capacity: 16 GB
        Error Information Handle: Not Provided
        Number Of Devices: 2

Handle 0x000D, DMI type 17, 34 bytes
Memory Device
        Array Handle: 0x000C
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 1024 MB
        Form Factor: SODIMM
        Set: None
        Locator: ChannelA-DIMM0
        Bank Locator: BANK 0                                                                                                        
        Type: DDR3                                                                                                                  
        Type Detail: Synchronous                                                                                                    
        Speed: 1333 MHz                                                                                                             
        Manufacturer: 04CB
        Serial Number: 00005BB3
        Asset Tag: 9876543210
        Part Number: AD73I1A0873EU     
        Rank: Unknown
        Configured Clock Speed: 1333 MHz

Handle 0x000E, DMI type 17, 34 bytes
Memory Device
        Array Handle: 0x000C
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 1024 MB
        Form Factor: SODIMM
        Set: None
        Locator: ChannelB-DIMM0
        Bank Locator: BANK 2
        Type: DDR3
        Type Detail: Synchronous
        Speed: 1333 MHz
        Manufacturer: 04CB
        Serial Number: 00005BB4
        Asset Tag: 9876543210
        Part Number: AD73I1A0873EU     
        Rank: Unknown
        Configured Clock Speed: 1333 MHz

Offline

#12 2013-08-12 13:20:03

alphaniner
Member
From: Ancapistan
Registered: 2010-07-12
Posts: 2,810

Re: Linux don't see all laptop's memory

Well, Linux is seeing all your RAM there. Do you remember where you saw the RAM report in Windows? Computer Properties would probably report all RAM, but Task Manager would only report usable RAM.


But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner

Offline

Board footer

Powered by FluxBB