Find the answer to your Linux question:
Page 1 of 2 1 2 LastLast
Results 1 to 10 of 20
Hello, I'm trying to set up a system with dual channel memory for the first time. I'm not entirely clear on the process. I've got the memory installed and recognized ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Feb 2010
    Posts
    11

    Dual Channel Memory


    Hello,

    I'm trying to set up a system with dual channel memory for the first time. I'm not entirely clear on the process. I've got the memory installed and recognized at a low level, but it only seems to be using one channel at a higher level:

    Code:
    # lshw -c memory -short
    H/W path             Device     Class          Description
    ==========================================================
    /0/0/1                          memory         16KiB L1 cache
    /0/0/2                          memory         2MiB L2 cache
    /0/3                            memory         64KiB BIOS
    /0/a                            memory         6GiB System Memory
    /0/a/0                          memory         1GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns)
    /0/a/1                          memory         2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns)
    /0/a/2                          memory         1GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns)
    /0/a/3                          memory         2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns)
    # head -1 /proc/meminfo 
    MemTotal:        3346732 kB
    # uname -a
    Linux mail.domain.com 2.6.31.12-174.2.22.fc12.i686.PAE #1 SMP Fri Feb 19 19:10:04 UTC 2010 i686 i686 i386 GNU/Linux
    Also, top and system monitor are reporting 3.2 GB of memory. Is this typical with dual-channel, or is the OS not utilizing both memory controllers? If the latter, then how would I go about configuing Linux to do so?

    Thanks,
    Matt

  2. #2
    Linux Guru
    Join Date
    Nov 2007
    Posts
    1,756
    The memory "channels" are a function of the motherboard (hardware.) The OS doesn't control/change this.

    32 bit OS'es can only use ~3.2GB of RAM unless a PAE-enabled processor and PAE-enabled OS is installed. The better move to use all of your RAM is to install a 64 bit OS.

  3. #3
    Just Joined!
    Join Date
    Feb 2010
    Posts
    11
    Quote Originally Posted by HROAdmin26 View Post
    The memory "channels" are a function of the motherboard (hardware.) The OS doesn't control/change this.

    32 bit OS'es can only use ~3.2GB of RAM unless a PAE-enabled processor and PAE-enabled OS is installed. The better move to use all of your RAM is to install a 64 bit OS.
    Thanks for the reply. You will notice that I do have a PAE-enabled OS, which is the reason I included the uname output. I never thought about the processor, however. Turns out I may have made a faulty assumption there. This machine is a $200 Craig's list special. It came with a drive with 32-bit Windows 7 installed, which I swapped out in favor of a couple of drives (with a 32-bit Fedora install) from the machine I was replacing. Knowing that the motherboard had a memory capacity of 6GB, I installed the PAE kernel, since the old machine could only do 2GB.

    Since it came preloaded with Windows 7, 32-bit, I never thought for a second that I might have a 64-bit processor. When I went to research whether or not the processor supported PAE, I seem to have stumbled across some specs that suggest I have a 64-bit processor after all.

    I can't post any links yet (2nd post), so I can't get you to the spec page on Intel, but it's a Pentium D. I think it's a 945 or 950, based on the CPU speed, but is there any way to verify this? All that I get out of /proc/cpuinfo is "Intel(R) Pentium(R) D CPU 3.40GHz". Either way, the Intel spec page for both lists a 64-bit instruction set with 32-bit PAE for both potential processor models. I'm not quite sure that I understand that, but given that and wikipedia's mention that

    The Pentium D[2] brand refers to two series of desktop dual-core 64-bit x86 processors...
    I think it's a reasonable assumption that I can install a 64-bit OS. I've installed 64-bit OSes on plenty of new machines, but how disruptive is it to do so on a production box where I've got lots of custom software and configurations? If it's not too bad, I'd just as soon do that and have 6GB natively without monkeying around with PAE.

    Thanks again for your help.

  4. #4
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, in Chicago, or in a galaxy far, far away.
    Posts
    11,596
    If you install an x86_64 OS (assuming the CPU supports it as you seem to think) such as CentOS 5, Ubuntu, et al then you should not have any problems running 32-bit software as well, provided you install the appropriate 32-bit packages required as well as the 64-bit ones. The system will put the 32-bit libraries into /usr/lib and 64-bit ones in /usr/lib64.

    I would, however, suggest that you look closely at the BIOS configuration to make sure that you have that configured properly for what you want to do. Some allow enabling of the PAE, VT-x (hardware virtualization support), and other processor extensions.
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

  5. #5
    oz
    oz is offline
    forum.guy
    Join Date
    May 2004
    Location
    arch linux
    Posts
    18,733
    Quote Originally Posted by mfleonhardt View Post
    I think it's a reasonable assumption that I can install a 64-bit OS.
    Welcome to the forums!

    The 945 and 950 Pentium D processors definitely have 64-bit technology:

    IntelŪ PentiumŪ D Processor 950

    IntelŪ PentiumŪ D Processor 945
    oz

  6. #6
    Just Joined!
    Join Date
    Feb 2010
    Posts
    11
    Quote Originally Posted by ozar View Post
    Welcome to the forums!

    The 945 and 950 Pentium D processors definitely have 64-bit technology:
    (wow...new users can't even quote URLs?)

    Right...but how can I tell for sure which processor I have? Linux isn't reporting the model number. (Short of pulling off the fan...)

    Anyway, just burned an openSUSE 64 live CD...gonna test that out.

  7. #7
    Just Joined!
    Join Date
    Feb 2010
    Posts
    11
    Quote Originally Posted by Rubberman View Post
    If you install an x86_64 OS (assuming the CPU supports it as you seem to think) such as CentOS 5, Ubuntu, et al then you should not have any problems running 32-bit software as well, provided you install the appropriate 32-bit packages required as well as the 64-bit ones. The system will put the 32-bit libraries into /usr/lib and 64-bit ones in /usr/lib64.

    I would, however, suggest that you look closely at the BIOS configuration to make sure that you have that configured properly for what you want to do. Some allow enabling of the PAE, VT-x (hardware virtualization support), and other processor extensions.

    Sorry...by custom software, I mean mostly Perl/shell scripts. I know that 32-bit binaries will run in a 64-bit environment. The machine is a combination personal mail server, entertainment center for the house. I'm thinking that there isn't a very painless way to preserve a lot of my configurations. The whole machine is mirrored to an external drive, but I hate blindly cp'ing conf files back into /etc. Doesn't look like I have many options, however.

  8. #8
    oz
    oz is offline
    forum.guy
    Join Date
    May 2004
    Location
    arch linux
    Posts
    18,733
    Quote Originally Posted by mfleonhardt View Post
    Right...but how can I tell for sure which processor I have?
    Try the following command from a terminal to get some processor info:

    Code:
    cat /proc/cpuinfo
    oz

  9. #9
    Just Joined!
    Join Date
    Feb 2010
    Posts
    11
    Well, here's the output:

    Code:
    $ cat /proc/cpuinfo
    processor	: 0
    vendor_id	: GenuineIntel
    cpu family	: 15
    model		: 6
    model name	: Intel(R) Pentium(R) D CPU 3.40GHz
    stepping	: 5
    cpu MHz		: 2400.000
    cache size	: 2048 KB
    physical id	: 0
    siblings	: 2
    core id		: 0
    cpu cores	: 2
    apicid		: 0
    initial apicid	: 0
    fdiv_bug	: no
    hlt_bug		: no
    f00f_bug	: no
    coma_bug	: no
    fpu		: yes
    fpu_exception	: yes
    cpuid level	: 6
    wp		: yes
    flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pebs bts pni dtes64 monitor ds_cpl est cid cx16 xtpr pdcm lahf_lm
    bogomips	: 6799.10
    clflush size	: 64
    power management:
    
    processor	: 1
    vendor_id	: GenuineIntel
    cpu family	: 15
    model		: 6
    model name	: Intel(R) Pentium(R) D CPU 3.40GHz
    stepping	: 5
    cpu MHz		: 2400.000
    cache size	: 2048 KB
    physical id	: 0
    siblings	: 2
    core id		: 1
    cpu cores	: 2
    apicid		: 1
    initial apicid	: 1
    fdiv_bug	: no
    hlt_bug		: no
    f00f_bug	: no
    coma_bug	: no
    fpu		: yes
    fpu_exception	: yes
    cpuid level	: 6
    wp		: yes
    flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pebs bts pni dtes64 monitor ds_cpl est cid cx16 xtpr pdcm lahf_lm
    bogomips	: 6799.86
    clflush size	: 64
    power management:
    However, like I said a few posts up, I don't get a model number, just that it's in the Pentium D series...

  10. #10
    Just Joined!
    Join Date
    Feb 2010
    Posts
    11

    update

    Okay, so I gave openSUSE 64's live CD a whirl, but it's still only recognizing the 3.2 GBs. I don't see any PAE settings in my BIOS, but maybe I'm overlooking something (some typed out BIOS settings):

    Code:
    Memory Configuration
    
    
    SDRAM Control    <Automatic>
    Memory Frequency <667 MHz>
    SDRAM tCL        <5>
    SDRAM tRCD       <5>
    SDRAM tRP        <5>
    SDRAM tRASmin    [15]
    
    Total Memory     6144 MB 
    Memory Mode      Dual Channel
    Memory Channel A:
      Slot 0: 1024 MB (DDR2 667) SPD: 5.0-5-5-15
      Slot 1: 2048 MB (DDR2 800) SPD: 5.0-4-4-14
    Memory Channel B:
      Slot 0: 1024 MB (DDR2 667) SPD: 5.0-5-5-15
      Slot 1: 2048 MB (DDR2 800) SPD: 5.0-4-4-14
    
      **NOTE**:  SPD defined as Nominal:  [tCL]-[tRCD]-[tRP]-[tRASmin]
    FYI...I have no clue what all the tFOO stuff is about...

Page 1 of 2 1 2 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •