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

Re: more than 12G of RAM



On 2/9/2014 7: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.

The devil is always in the details.

> That page just tells you how to install dual-channel DDR3 sticks. Again,

It tells you exactly how to install the sticks, and that each pair needs
to match.

> the BIOS detects the full 16G. This shows that the setup does work with
> the board.

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, 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)

This is exactly what is happening in the OP's case--POST says one thing,
e820 another.

It is possible to manually create a proper map using kernel command line
options so the kernel sees all the memory.  However, for a non kernel
hacker this job will require far more time, research, etc, than the cost
of swapping modules.  Thus, if moving the DIMMs around doesn't allow the
BIOS to create the proper e820 map, the OP's best option is to buy
another matching 8GB stick, or swap it for two matching 4GB sticks.

-- 
Stan


Reply to: