Page 1 of 1

<SOLVED>:"Lost" 1.1 gigabytes of memory: where did it go?

Posted: Fri Aug 07, 2015 2:14 am
by cosmicaug
Hi,

I have a Toshiba Satellite A100-497 (PSAA9E-0P004QSP) with 2 GB of memory that was running Windows XP (horribly at that) and thought it would be a good thing to try Mint. I also thought that it might be fun to try replace the drive with a refurbished SSD. I installed from a DVD using the linuxmint-17.2-cinnamon-64bit.iso image. I only ran into one issue (it seemed to hang on boot with a black screen or a black screen with a cursor) but I solved it by booting into recovery mode and then installing the Nvidia binary driver. So after this everything seemed very pleasing (not that I have played with it very much yet but everything loads fast and everything seems responsive).

So I had this 4 GB of memory lying around and decide it would be great to double the memory (even if it's just to reduce the number of writes to the SSD). I do this and I am not showing the full 4 GB of memory. In fact, it is showing a number that is suspiciously close to the 3 GB limit, 2.9 GB.

BIOS (which is the latest version) shows the laptop to have 4 GB of memory installed and the specifications listed by Toshiba say it can handle a maximum of 4 GB of RAM.

I ran the Memtest86+ test just to see and the result seems peculiar. It recognizes that there are two memory slots with installed memory and it is correctly identified but it is only seeing 3 GB of it, as far as I can tell. See graphic (it's a picture of a laptop screen taken through a webcam so sorry about the low quality):

[rimg]https://farm4.staticflickr.com/3670/197 ... 4cb7_o.png[/rimg]

The graphical System Information application shows the following:

Code: Select all

Operating System                                   Linux Mint 17.2 Cinnamon 64-bit
Cinnamon Version                                                            2.6.11
Linux Kernel                                                     3.16.0-38-generic
Processor                                 Intel© Core™2 CPU    T5600 @ 1.83GHz x 2
Memory                                                                     2.9 GiB
Hard Drives                                                              120.9 GiB
Graphics Card            NVIDIA Corporation G72M [Quadro NVS 110M/GeForce Go 7300]
What I am seeing is that I downloaded a 64 bit image, the system is recognizing a 64 bit operating system and it is running on a 64 bit CPU.

Oh, and I did consider that some memory might be shared with the video (the BIOS offers no settings dealing with video) but:
  • * 1.1 GB seems a little excessive.
    * For testing, I reinstalled the original 2 GB & the System Information application showed the expected 2 GB value.
    * I believe shared memory should still show up in Memtest86+
I can't see faulty memory modules being an issue because I can't imagine a scenario where the whole of one and only half of the other would be recognized by the O/S (these are two modules that I have considered as "known good"). I could imagine everything of a module being recognized. I can imagine all of it not being recognized. I can imagine a malfunctioning module causing system instability. Nevertheless I decided to check these possibilities.

Either of the two memory slots works with either of the two memory modules and all four combinations show up as 2 GB of system memory. Having both slots filled and with the order reversed results in 2.9 GB of system memory being shown. So 2 filled slots give 2.9 GB and 1 filled slot gives 2 GB (that is, when it comes to these memory modules, there appears to be no hint of a fault following a piece of hardware).


I did find one example of someone reporting what to me seemed like a similar issue but I'm a bit of a newbie and I can't necessarily make sense of this. Some of the diagnostics they suggested are as follows:
"free -m" yields:

Code: Select all

             total       used       free     shared    buffers     cached
Mem:          3008       2175        832         30         44        802
-/+ buffers/cache:       1327       1680
Swap:         2047          0       2047
"uname -r" yields:

Code: Select all

3.16.0-38-generic
"file `which free`" yields:

Code: Select all

/usr/bin/free: ELF 64-bit LSB  executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=cb4ba71f831083ed89fc51dd95e427dade1de0f8, stripped
"dmidecode --type memory" yields:

Code: Select all

# dmidecode 2.12
SMBIOS 2.4 present.

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

Handle 0x0014, DMI type 17, 27 bytes
Memory Device
	Array Handle: 0x0013
	Error Information Handle: No Error
	Total Width: 32 bits
	Data Width: 32 bits
	Size: 2048 MB
	Form Factor: SODIMM
	Set: 1
	Locator: M1
	Bank Locator: Bank 0
	Type: DDR2
	Type Detail: Synchronous
	Speed: Unknown
	Manufacturer: Not Specified
	Serial Number: Not Specified
	Asset Tag: Not Specified
	Part Number: Not Specified

Handle 0x0015, DMI type 17, 27 bytes
Memory Device
	Array Handle: 0x0013
	Error Information Handle: No Error
	Total Width: 32 bits
	Data Width: 32 bits
	Size: 2048 MB
	Form Factor: SODIMM
	Set: 1
	Locator: M2
	Bank Locator: Bank 1
	Type: DDR2
	Type Detail: Synchronous
	Speed: Unknown
	Manufacturer: Not Specified
	Serial Number: Not Specified
	Asset Tag: Not Specified
	Part Number: Not Specified
"cat /proc/meminfo" yields:

Code: Select all

MemTotal:        3080312 kB
MemFree:          867516 kB
MemAvailable:    1610688 kB
Buffers:           46196 kB
Cached:           822308 kB
SwapCached:            0 kB
Active:          1714684 kB
Inactive:         350608 kB
Active(anon):    1197792 kB
Inactive(anon):    30280 kB
Active(file):     516892 kB
Inactive(file):   320328 kB
Unevictable:          16 kB
Mlocked:              16 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Dirty:                88 kB
Writeback:             0 kB
AnonPages:       1196816 kB
Mapped:           350432 kB
Shmem:             31288 kB
Slab:              58832 kB
SReclaimable:      37152 kB
SUnreclaim:        21680 kB
KernelStack:        6032 kB
PageTables:        22172 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     3637304 kB
Committed_AS:    3084040 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      317912 kB
VmallocChunk:   34359407612 kB
HardwareCorrupted:     0 kB
AnonHugePages:    274432 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       92608 kB
DirectMap2M:     3051520 kB
"dmesg | grep -i memory" yields:

Code: Select all

[    0.000000] Scanning 1 areas for low memory corruption
[    0.000000] Base memory trampoline at [ffff880000099000] 99000 size 24576
[    0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[    0.000000] init_memory_mapping: [mem 0xbfc00000-0xbfdfffff]
[    0.000000] init_memory_mapping: [mem 0xbc000000-0xbfbfffff]
[    0.000000] init_memory_mapping: [mem 0x80000000-0xbbffffff]
[    0.000000] init_memory_mapping: [mem 0x00100000-0x7fffffff]
[    0.000000] init_memory_mapping: [mem 0xbfe00000-0xbfe6ffff]
[    0.000000] Early memory node ranges
[    0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[    0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000dbfff]
[    0.000000] PM: Registered nosave memory: [mem 0x000dc000-0x000fffff]
[    0.000000] Memory: 3049592K/3143736K available (7626K kernel code, 1131K rwdata, 3596K rodata, 1352K init, 1300K bss, 94144K reserved)
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.004042] TOSHIBA Satellite detected - force copy of DSDT to local memory
[    0.022350] Initializing cgroup subsys memory
[    0.022660] Freeing SMP alternatives memory: 32K (ffffffff81e6e000 - ffffffff81e76000)
[    1.240332] Freeing initrd memory: 28280K (ffff8800348b4000 - ffff880036452000)
[    1.240891] Scanning for low memory corruption every 60 seconds
[    1.616543] Freeing unused kernel memory: 1352K (ffffffff81d1c000 - ffffffff81e6e000)
[    1.618921] Freeing unused kernel memory: 556K (ffff880001775000 - ffff880001800000)
[    1.620977] Freeing unused kernel memory: 500K (ffff880001b83000 - ffff880001c00000)
[    4.610793] yenta_cardbus 0000:07:06.0: Enabling burst memory read transactions
[    4.847487] pcmcia_socket pcmcia_socket0: cs: memory probe 0xf0900000-0xf09fffff:
[    5.611490] pcmcia_socket pcmcia_socket0: cs: memory probe 0x0c0000-0x0fffff:
[    5.611530] pcmcia_socket pcmcia_socket0: cs: memory probe 0xa0000000-0xa0ffffff:
[    5.611558] pcmcia_socket pcmcia_socket0: cs: memory probe 0x60000000-0x60ffffff:
"dmesg | grep -i e820" yields:

Code: Select all

[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009f7ff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009f800-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000dc000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000bfe6ffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000bfe70000-0x00000000bfefffff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000bff00000-0x00000000bfffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec0ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed003ff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed14000-0x00000000fed19fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed8ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reserved
[    0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000000] e820: last_pfn = 0xbfe70 max_arch_pfn = 0x400000000
[    0.000000] e820: [mem 0xc0000000-0xfebfffff] available for PCI devices
[    0.436459] e820: reserve RAM buffer [mem 0x0009f800-0x0009ffff]
[    0.436462] e820: reserve RAM buffer [mem 0xbfe70000-0xbfffffff]
If I am understanding that last bit correctly the "usables" add up to around 3 GB.

Re: "Lost" 1.1 gigabytes of memory: where did it go?

Posted: Fri Aug 07, 2015 3:09 am
by xenopeek
You may have to turn "memory remapping" on in the BIOS. Here is a similar topic where that was the solution: http://superuser.com/questions/453201/o ... bit-debian. Your graphics card may be mapping its RAM in the 3 GB - 4 GB address space.

Otherwise one of these memory modules may be damaged. See this topic: http://unix.stackexchange.com/questions ... -and-32-gb. Looks similar to yours. Computer has 4 x 8 GB RAM (32 total) but only sees 3 GB RAM. It was caused by a faulty memory module.

Re: "Lost" 1.1 gigabytes of memory: where did it go?

Posted: Fri Aug 07, 2015 6:33 pm
by cosmicaug
xenopeek wrote:You may have to turn "memory remapping" on in the BIOS. Here is a similar topic where that was the solution: http://superuser.com/questions/453201/o ... bit-debian. Your graphics card may be mapping its RAM in the 3 GB - 4 GB address space.
That's an interesting post. Unfortunately, my ancient (but as up to date as possible) Phoenix BIOS presents few choices and "memory remapping" is not one of them. :( That is, if I have to turn on memory remapping, then there's nothing I can do.


The Superuser post refers to the use of smem and makes claims based upon it. So I installed it.

When I use it by entering "sudo smem -R 4G -w", I get:

Code: Select all

Area                           Used      Cache   Noncache 
firmware/hardware           1113992          0    1113992 
kernel image                      0          0          0 
kernel dynamic memory        607472     500816     106656 
userspace memory            1072868     282028     790840 
free memory                 1399972    1399972          0 
That appears to be a perfect match to my "missing" memory. I am, however, unimpressed with this being useful information because I discovered that this particular command simply calculates that value instead of detecting it directly. All it seems to do is throw whatever memory it cannot find (based on the amount of memory you tell it you have) into the 'firmware/hardware' bin (so it would have to be a perfect match).

Thus, if I enter "sudo smem -R 3G -w" I get:

Code: Select all

Area                           Used      Cache   Noncache 
firmware/hardware             65416          0      65416 
kernel image                      0          0          0 
kernel dynamic memory        607420     501244     106176 
userspace memory            1015916     282840     733076 
free memory                 1456976    1456976          0 
And if I enter "sudo smem -R 2.9G -w" I get:

Code: Select all

firmware/hardware                 0          0          0 
kernel image                      0          0          0 
kernel dynamic memory        608008     501280     106728 
userspace memory            1024948     282036     742912 
free memory                 1447356    1447356          0 
xenopeek wrote:Otherwise one of these memory modules may be damaged. See this topic: http://unix.stackexchange.com/questions ... -and-32-gb. Looks similar to yours. Computer has 4 x 8 GB RAM (32 total) but only sees 3 GB RAM. It was caused by a faulty memory module.
I saw that. However, the fault does not seem to follow the hardware. When used by themselves, both memory modules work in either memory slot and both are reported as a full 2GB (there's never 1.1 GB missing). When used together, both combinations work but both combinations only show up as 2.9 GB.

Re: "Lost" 1.1 gigabytes of memory: where did it go?

Posted: Fri Aug 07, 2015 6:50 pm
by cosmicaug
I did try another thing. Since I know that different operating systems treat BIOS information differently, I wondered what would happen if I installed something else. As it happens, I have a DVD of a preview version of Windows 10 64 bit lying around and I tried to install it. It actually worked! I wondered if it would work at all given that this is older hardware (though I would have guessed it to be at least sufficient to run Vista & probably Windows 7).

The result is that I got a report of having "4GB RAM (3GB usable)" (or something like that --I did not do a screen shot).

However, I did use the system information tool and exported its results to files.

The summary looks like this:

Code: Select all

System Information report written at: 08/07/15 08:39:18
System Name: WIN-1MI3KDA7LEM
[System Summary]

Item	Value	
OS Name	Microsoft Windows 10 Pro Insider Preview	
Version	10.0.10074 Build 10074	
Other OS Description 	Not Available	
OS Manufacturer	Microsoft Corporation	
System Name	WIN-1MI3KDA7LEM	
System Manufacturer	TOSHIBA	
System Model	Satellite A100	
System Type	x64-based PC	
System SKU		
Processor	Intel(R) Core(TM)2 CPU         T5600  @ 1.83GHz, 1833 Mhz, 2 Core(s), 2 Logical Processor(s)	
BIOS Version/Date	Phoenix Technologies LTD 6.00, 7/12/2007	
SMBIOS Version	2.4	
Embedded Controller Version	255.255	
BIOS Mode	Legacy	
BaseBoard Manufacturer	Intel Corporation	
BaseBoard Model	Not Available	
BaseBoard Name	Base Board	
Platform Role	Mobile	
Secure Boot State	Unsupported	
PCR7 Configuration	Binding Not Possible	
Windows Directory	C:\Windows	
System Directory	C:\Windows\system32	
Boot Device	\Device\HarddiskVolume1	
Locale	United States	
Hardware Abstraction Layer	Version = "10.0.10074.0"	
User Name	WIN-1MI3KDA7LEM\August	
Time Zone	Pacific Daylight Time	
Installed Physical Memory (RAM)	4.00 GB	
Total Physical Memory	3.00 GB	
Available Physical Memory	1.82 GB	
Total Virtual Memory	4.25 GB	
Available Virtual Memory	3.09 GB	
Page File Space	1.25 GB	
Page File	C:\pagefile.sys	
Hyper-V - VM Monitor Mode Extensions	Yes	
Hyper-V - Second Level Address Translation Extensions	No	
Hyper-V - Virtualization Enabled in Firmware	Yes	
Hyper-V - Data Execution Protection	Yes	
Memory looks like this:

Code: Select all

System Information report written at: 08/07/15 08:33:28
System Name: WIN-1MI3KDA7LEM
[Memory]

Resource	Device	Status	
0xCD000000-0xCDFFFFFF	Microsoft Basic Display Adapter	OK	
0xCD000000-0xCDFFFFFF	PCI-to-PCI Bridge	OK	
0xD0000000-0xDFFFFFFF	Microsoft Basic Display Adapter	OK	
0xD0000000-0xDFFFFFFF	PCI-to-PCI Bridge	OK	
0xCE000000-0xCEFFFFFF	Microsoft Basic Display Adapter	OK	
0xA0000-0xBFFFF	Microsoft Basic Display Adapter	OK	
0xA0000-0xBFFFF	PCI Express Root Complex	OK	
0xA0000-0xBFFFF	PCI-to-PCI Bridge	OK	
0xF0C00000-0xF0C03FFF	High Definition Audio Controller	OK	
0xE0000000-0xEFFFFFFF	Motherboard resources	OK	
0xFED14000-0xFED17FFF	Motherboard resources	OK	
0xFED18000-0xFED18FFF	Motherboard resources	OK	
0xFED19000-0xFED19FFF	Motherboard resources	OK	
0xFED1C000-0xFED1FFFF	Motherboard resources	OK	
0xFED20000-0xFED3FFFF	Motherboard resources	OK	
0xFED40000-0xFED44FFF	Motherboard resources	OK	
0xFED45000-0xFED8FFFF	Motherboard resources	OK	
0xF0800000-0xF0800FFF	Intel(R) PRO/Wireless 3945ABG Network Connection	OK	
0xF0800000-0xF0800FFF	PCI-to-PCI Bridge	OK	
0xD4000-0xD7FFF	PCI Express Root Complex	OK	
0xD8000-0xDBFFF	PCI Express Root Complex	OK	
0xC0000000-0xFEBFFFFF	PCI Express Root Complex	OK	
0xF0700000-0xF07FFFFF	PCI-to-PCI Bridge	OK	
0xF0200000-0xF03FFFFF	PCI-to-PCI Bridge	OK	
0xF0904000-0xF0904FFF	Mass Storage Controller	OK	
0xFF000000-0xFFFFFFFF	Device	OK	
0xF0400000-0xF05FFFFF	PCI-to-PCI Bridge	OK	
0xF0905000-0xF0905FFF	Intel(R) PRO/100 VE Network Connection	OK	
0xF0906000-0xF09067FF	Texas Instruments 1394 OHCI Compliant Host Controller	OK	
0xF0900000-0xF0903FFF	Texas Instruments 1394 OHCI Compliant Host Controller	OK	
0xF0900000-0xF0903FFF	PCI-to-PCI Bridge	OK	
0xF0C04000-0xF0C043FF	Intel(R) 82801G (ICH7 Family) USB2 Enhanced Host Controller - 27CC	OK	
0xF09FF000-0xF09FFFFF	Texas Instruments PCI-8x12/7x12/6x12 CardBus Controller	OK	
0xF09FE000-0xF09FEFFF	Texas Instruments PCI-8x12/7x12/6x12 CardBus Controller	OK	
0xF09FD000-0xF09FDFFF	Texas Instruments PCI-8x12/7x12/6x12 CardBus [code]Controller	OK	
0xFEBFF000-0xFEBFFFFF	Texas Instruments PCI-8x12/7x12/6x12 CardBus Controller	OK	
0xFED00000-0xFED003FF	High precision event timer	OK	
0xF0906800-0xF09068FF	SDA Standard Compliant SD Host Controller	OK	
Display looks like this:

Code: Select all

System Information report written at: 08/07/15 08:35:04
System Name: WIN-1MI3KDA7LEM
[Display]

Item	Value	
Name	Microsoft Basic Display Adapter	
PNP Device ID	PCI\VEN_10DE&DEV_01D7&SUBSYS_FF101179&REV_A1\4&305D8664&0&0008	
Adapter Type	NVIDIA, (Standard display types) compatible	
Adapter Description	Microsoft Basic Display Adapter	
Adapter RAM	0 bytes	
Installed Drivers	Not Available	
Driver Version	10.0.10074.0	
INF File	display.inf (MSBDA section)	
Color Planes	Not Available	
Color Table Entries	4294967296	
Resolution	1024 x 768 x 1 hertz	
Bits/Pixel	32	
Memory Address	0xCD000000-0xCDFFFFFF	
Memory Address	0xD0000000-0xDFFFFFFF	
Memory Address	0xCE000000-0xCEFFFFFF	
I/O Port	0x000003B0-0x000003BB	
I/O Port	0x000003C0-0x000003DF	
Memory Address	0xA0000-0xBFFFF	
Driver	c:\windows\system32\drivers\basicdisplay.sys (10.0.10074.0, 51.00 KB (52,224 bytes), 4/24/2015 8:12 PM)	
I am even attaching the entire report in case there's something useful in there.

Re: "Lost" 1.1 gigabytes of memory: where did it go?

Posted: Fri Aug 07, 2015 6:52 pm
by cosmicaug
cosmicaug wrote:I am even attaching the entire report in case there's something useful in there.
The attachment didn't seem to post.

Re: "Lost" 1.1 gigabytes of memory: where did it go?

Posted: Fri Aug 07, 2015 9:23 pm
by cosmicaug
xenopeek wrote:You may have to turn "memory remapping" on in the BIOS. Here is a similar topic where that was the solution: http://superuser.com/questions/453201/o ... bit-debian. Your graphics card may be mapping its RAM in the 3 GB - 4 GB address space.
So questions I have about this are:
  • Could the "memory remapping" feature exist in this laptop's chipset even though it is not shown in the BIOS setup screen?
  • How would I find out?
  • If it does, knowing that a more recent release of this BIOS does not exist which could potentially come to the rescue, can I change this setting even though the means to do so via the BIOS setup screen does not exist? That is, do I have a relatively reasonable way to change hidden BIOS settings?
xenopeek wrote:Otherwise one of these memory modules may be damaged. See this topic: http://unix.stackexchange.com/questions ... -and-32-gb. Looks similar to yours. Computer has 4 x 8 GB RAM (32 total) but only sees 3 GB RAM. It was caused by a faulty memory module.
Again, I don't think this is it due to the reasons I've stated but it is possible that I may have access to different, probably compatible memory modules adding up to 4 GB in a few days so I might be able to do yet another test of this hypothesis.

Re: "Lost" 1.1 gigabytes of memory: where did it go?

Posted: Sat Aug 08, 2015 12:21 am
by cosmicaug
Thank you, xenopeek!

The Superuser post led me in the right direction.

It appears to be a known issue with these models.

Nothing can be done about it. While the O/S and the cpu support addressing beyond 4GB, the chipset does not.

See http://ark.intel.com/products/27858/Int ... Controller

The maximum memory size for this chipset's memory controller is 4GB. That means that the video memory requirements have to map below 4 GB regardless of whether the video card has its own memory (which I believe it does --besides, if it didn't it would have to take at least a little bit away when running with 2 GB of installed memory and it doesn't).

I am surprised that this card has 1 GB of video memory but it must be so. That, plus other miscellaneous hardware and firmware memory assignments would easily explain how 1.1 GB of installed memory became unavailable.

I consider this solved even if it was not solved in the way that I would have hoped.

Re: <SOLVED>:"Lost" 1.1 gigabytes of memory: where did it go

Posted: Sat Aug 08, 2015 1:31 am
by xenopeek
Ouch, that was the third option I hadn't considered as the cause for this :(