[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: more than 12G of RAM



On 10/02/14 11:40 PM, Stan Hoeppner wrote:
On 2/10/2014 4:28 PM, Gary Dale wrote:
On 10/02/14 03:48 PM, Stan Hoeppner wrote:
On 2/10/2014 2:14 PM, Gary Dale wrote:
On 10/02/14 11:24 AM, Dave Woyciesjes wrote:
On 02/09/2014 10:14 AM, Jerry Stuckle wrote:
On 2/9/2014 8:27 AM, Gary Dale wrote:
On 09/02/14 06:50 AM, Stan Hoeppner wrote:
On 2/9/2014 3:32 AM, Efraim Flashner wrote:
On Sat, 08 Feb 2014 10:20:49 -0500
Gary Dale<garydale@torfree.net>  wrote:

I'm running Jessie on an AMD64 Gigabyte 970A-D3P board with an
FX6100
processor. I had 2x4G DDR3 sticks in it but some of the programs I
use were causing excessive thrashing. I added a 1x8G DDR3 stick
(got
a good price on it, much cheaper than adding 2x4G) which resolved
the
thrashing problem.

The BIOS shows I have 16G but free shows only 12G. I also ran
free on
a machine with 2x8G DDR3 running Wheezy and it showed 16G when
I ran
free. This suggests that the kernel is handling 16G (as one would
expect) in the general case and the issue is likely due to my
setup.

Since the BIOS shows the full 16G, the problem doesn't seem to
be on
the mainboard. Is there an issue with running interleaved and
non-interleaved RAM together on the Jessie kernels?


It sounds to me like you have some issues between your two sets of
ram,
the 8G stick and the 2x4G sticks.  Is there a difference in
timings/speed/voltage?  I've never put much stock in people saying
that
you shouldn't mix different types of ram if the price is right,
but you
might need to change around the placement order.  Assuming the
motherboard supports dual-channel ram, I'd make sure you have the
2x4G
sticks paired up and the 8G stick on its own channel.
According to page 16 of the manual you have an unsupported memory
configuration:
http://download.gigabyte.us/FileList/Manual/mb_manual_ga-970a-d3p_e.pdf




If this combo will ever work, the first step is to verify the 8GB
stick
is in one channel and the two 4GB sticks in the other.  If you still
don't see all 16GB then disable rank interleaving.  If that doesn't
fix
it, disable channel interleaving.  If that doesn't fix it, you may
be of
luck, and will need to either swap the 8GB stick for a pair of
matched
4GB sticks, or acquire another identical 8GB stick.
That page just tells you how to install dual-channel DDR3 sticks.
Again,
the BIOS detects the full 16G. This shows that the setup does work
with
the board.


"Detected" and "Working" memory are two entirely different things.
It is perfectly possible for your BIOS to detect 16GB, but 4GB of it
not work properly.

Both Stan and Efraim have good comments.  I suggest you follow them.

Jerry


Have you run memtest yet?

Yes. After the other comments, I gave it a try. It also only sees 12G. I
find this confusing in that the board apparently works with a mixture of
interleaved and non-interleaved memory - as witnessed by the fact that
I'm running that way. Why should it see the non-interleaved module as
only 4G instead of 8G?

The board has 4 sockets and according to the specifications supports up
to 32G of memory, which means it should support 8G modules. I could
understand the problem if it only supported 4G modules, then it might
only see part of the extra memory. I could understand it also if the
configuration simply didn't work and only showed me 8G total. 12G I
don't understand.
Apparently you (and everyone else) missed my last post wherein I
explained what the problem is here.  Here is the explanation a 2nd time:

POST displays a message on the screen that 16GB is present.  But that
subroutine is separate from the BIOS code that generates the e820 memory
map that is presented to the kernel, which can be found at the start of
your dmesg log, e.g.

BIOS-provided physical RAM map:
   BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
   BIOS-e820: 000000000009f000 - 00000000000a0000 (reserved)
   BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
   BIOS-e820: 0000000000100000 - 00000000bddde000 (usable)
   BIOS-e820: 00000000bddde000 - 00000000bde0e000 (ACPI data)
   BIOS-e820: 00000000bde0e000 - 00000000d0000000 (reserved)
   BIOS-e820: 00000000fec00000 - 00000000fee10000 (reserved)
   BIOS-e820: 00000000ff800000 - 0000000100000000 (reserved)
   BIOS-e820: 0000000100000000 - 000000083efff000 (usable)

POST says one thing, the e820 map another.  Which is why neither Debian
nor memtest (which uses the Linux kernel) can find the other 4GB.  The
memory map being presented to Linux is wrong.  If the board does not
present the correct e820 map in non-interleaved mode witn mismatched
stick sizes, then I guess you could call this a BIOS bug.

It is possible to work around this by manually creating a proper map.
This can be done using kernel command line options.  However, for a non
kernel hacker this job will require far more time, research, heartache,
etc, than the cost of simply swapping modules to allow the board BIOS to
work.
Here's what I get in dmesg re. e820:

[    0.459286] e820: reserve RAM buffer [mem 0x0009e800-0x0009ffff]
[    0.459290] e820: reserve RAM buffer [mem 0xbe860000-0xbfffffff]
[    0.459294] e820: reserve RAM buffer [mem 0xbf15e000-0xbfffffff]
[    0.459297] e820: reserve RAM buffer [mem 0xbf800000-0xbfffffff]
[    0.459300] e820: reserve RAM buffer [mem 0x33f000000-0x33fffffff]

This doesn't look like your map, so perhaps I need to look elsewhere?
The map above is simply an example, whose purpose is to demonstrate that
the BIOS presents a memory map to the Kernel.  Your BIOS is presenting
an incorrect map with 2x4 plus 1x8 DIMMs.

Turning off interleaving doesn't help.
Please be specific, always.  Did you turn off both channel and rank
interleaving?
Yes. I turned off both.

However, if the 8G stick is the
only memory present, it is recognized correctly.
Of course it is.  Any DIMM work always work by itself granted it's the
right type for the board.  It's the DIMM combinations the BIOS code is
written to work with that matters.  If you've disabled all interleaving
in the BIOS and tried the DIMMs in all possible slot configurations, you
have two realistic options at this point.

1.  Contact Gigabyte support
2.  Buy another identical 8GB DIMM, or exchange this one for two 4s

#1 may lead you to #2 anyway.
Not all boards support all DIMMs even if the correct type. It was a relief to see that it handled 8G DIMMs after reviewing the memory compatibility table which didn't have any 8G DIMMs listed.

Option 1 is not currently available. Gigabyte's technical support page isn't working properly right now - it insists that I give it access to a social media account - it won't take just an e-mail address. I've reported the problem but who knows how long it will be broken.

Option 2 is also not possible. I got the 8G stick on a sale that is no longer available, even if I wanted to spend more money on the problem. I can't get 2 x 4G for the same price either. I'd have to spend more money again.

12G is allowing me to work right now. It resolved the thrashing issue I was having. Hopefully Gigabyte will have some interest in fixing their BIOS after they fix their web site.


Reply to: