You are not logged in.
Hello Everyone, I've been happily using arch for a few months now, used mint before switching to arch, used gentoo before switching to mint, so I have a decent knowledge of compiling, building, kernels, etc from gentoo.
I'm sure this cant be too complicated.
My desktop is fine, but my server is a 64bit pentium d, which i have 5gb of ram installed.
however:
# free -m
total used free shared buffers cached
Mem: 3508 3425 83 0 4 28
-/+ buffers/cache: 3392 115
Swap: 5718 333 5384
free is only showing 3.5gb.
uname -a outputs this
Linux server 3.12.0-1-ARCH #1 SMP PREEMPT Wed Nov 6 09:06:27 CET 2013 x86_64 GNU/Linux
indicating a 64bit kernel. which should properly address 5gb.
now dmidecode outputs the proper stick, 2 2gb sticks and 2 512mb sticks:
Handle 0x0013, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 4 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x0014, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0013
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 512 MB
Form Factor: DIMM
Set: None
Locator: J6H1
Bank Locator: CHAN A DIMM 0
Type: DDR2
Type Detail: Synchronous
Speed: 400 MHz
Manufacturer: 0xCE00000000000000
Serial Number: 0x410574D3
Asset Tag: Unknown
Part Number: 0x4D332037385436353533425A302D4B434320
Handle 0x0015, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x0001FFFFFFF
Range Size: 512 MB
Physical Device Handle: 0x0014
Memory Array Mapped Address Handle: 0x001C
Partition Row Position: 1
Handle 0x0016, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0013
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 512 MB
Form Factor: DIMM
Set: None
Locator: J6H2
Bank Locator: CHAN A DIMM 1
Type: DDR2
Type Detail: Synchronous
Speed: 400 MHz
Manufacturer: 0xCE00000000000000
Serial Number: 0x410174D6
Asset Tag: Unknown
Part Number: 0x4D332037385436353533425A302D4B434320
Handle 0x0017, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00020000000
Ending Address: 0x0003FFFFFFF
Range Size: 512 MB
Physical Device Handle: 0x0016
Memory Array Mapped Address Handle: 0x001C
Partition Row Position: 1
Handle 0x0018, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0013
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: J6J1
Bank Locator: CHAN B DIMM 0
Type: DDR2
Type Detail: Synchronous
Speed: 400 MHz
Manufacturer: 0x7F7F7F7F7F020000
Serial Number: 0x00000000
Asset Tag: Unknown
Part Number: 0x504443323447363430304C4C4B0000000000
Handle 0x0019, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00040000000
Ending Address: 0x000BFFFFFFF
Range Size: 2 GB
Physical Device Handle: 0x0018
Memory Array Mapped Address Handle: 0x001C
Partition Row Position: 1
Handle 0x001A, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0013
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: J6J2
Bank Locator: CHAN B DIMM 1
Type: DDR2
Type Detail: Synchronous
Speed: 400 MHz
Manufacturer: 0x7F7F7F7F7F020000
Serial Number: 0x00000000
Asset Tag: Unknown
Part Number: 0x504443323447363430304C4C4B0000000000
Handle 0x001B, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x000C0000000
Ending Address: 0x0013FFFFFFF
Range Size: 2 GB
Physical Device Handle: 0x001A
Memory Array Mapped Address Handle: 0x001C
Partition Row Position: 1
Handle 0x001C, DMI type 19, 15 bytes
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x0013FFFFFFF
Range Size: 5 GB
Physical Array Handle: 0x0013
Partition Width: 4
I do however notice the first entry shows physical memory array maximum capacity is 4gb. the internal intel video takes 128mb. which does not exactly account for missing over a gb of ram.
but I know this is not a hardware limit. I had over 6gb in this server, until my desktop ram started dying out.
I had Crux linux on there a while ago and it recognized and used all the ram correctly.
What am I overlooking? Where am I going wrong?
Thanks for your help in advance!
Offline
Do you mess around with BIOS ? any options like memory remaping or so ?
O' rly ? Ya rly Oo
Offline
I haven't, it is a completely headless server stuffed in a closet.
however I will hook a monitor to it and check, as I can't understand this at all.
i share my pacman packages between my desktop and server, saves on downloads, so i have the identical kernel on my desktop and it works fine. which does seem to scream hardware issue.
I'll check it out and report back!
Offline
I checked the bios, it shows the proper amount of ram, 5gb.
could not find any remapping options, its a pretty simple intel board, no overclocking or advanced features.
I thought maybe it was a bad stick throwing something off so I pulled 2 sticks out of my desktop and put in there, then it clearly shows up 6gb in the bios, but in arch, the same 3.5gb
dmidecode properly shows 2x 2gb sticks and 2x 1gb sticks.
I don't get it.
when i get home from work I will try to boot off a usb stick or something to test if it is OS specific.
Offline
ok, it is definetly hardware.
I booted the arch 64bit livecd as well as the gentoo minimal 64bit livecd.
both reported 3.5gb
It has a Pentium D 2.8ghz, which is reported by the bios to be intel EM64T capable.
the motherboard is a d945gbo, which according to intel supports up to 8gb total ram
I have discovered I had the ram set up in single channel mode, which shouldn't make a difference capacity wise, just performance wise.
I also found there is a BIOS update available. so I'm going to update the bios next.
Offline
Check dmesg. The beginning should contain something like:
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009efff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009f000-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000e4000-0x00000000000fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000cfe7ffff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000cfe80000-0x00000000cfe97fff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x00000000cfe98000-0x00000000cfebffff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000cfec0000-0x00000000cfefffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000ffe00000-0x00000000ffffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000042fffffff] usable
0x0000000100000000 is 4G so the last line describes the >4GB part of my RAM. Yours should be about 1GB in size.
Offline
Ok, here's what dmesg reported:
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x0000000000098fff] usable
[ 0.000000] BIOS-e820: [mem 0x0000000000099000-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000df5dbfff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000df5dc000-0x00000000df5ddfff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000df5de000-0x00000000df67afff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000df67b000-0x00000000df6e8fff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000df6e9000-0x00000000df6ebfff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000df6ec000-0x00000000df6fefff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x00000000df6ff000-0x00000000df6fffff] usable
[ 0.000000] NX (Execute Disable) protection: active
Forgot to add: that is obviously not 4gb. So why is my bios providing the wrong memory map?!
I updated the bios, and got the ram into dual channel mode, neither made any difference.
Last edited by JarodTLG (2013-11-22 22:37:07)
Offline
the motherboard is a d945gbo, which according to intel supports up to 8gb total ram
You sure about this? I just downloaded the motherboard manual:
1.5 System Memory
The board has four DIMM sockets and support the following memory features:
• 1.8 V (only) DDR2 SDRAM DIMMs with gold-plated contacts
• Unbuffered, single-sided or double-sided DIMMs with the following restriction:
Double-sided DIMMS with x16 or
ganization are not supported.
• 4 GB maximum total system memory. Refer to Section 2.1.1 on page 45 for information on the
total amount of addressable memory.
• Minimum total system memory: 128 MB
• Non-ECC DIMMs
• Serial Presence Detect
• DDR2 667 or DDR2 533 MHz SDRAM DIMMs
EDIT:
Never mind, I see on the website they also have this:
System Memory Features
The board has four DIMM sockets and supports the following memory features:1.8 V (only) DDR2 SDRAM DIMMs with gold-plated contacts
Unbuffered, single-sided or double-sided DIMMs with the following restriction: Double-sided DIMMs with x16 organization are not supported.
8 GB maximum total system memory
Minimum total system memory: 128 MB
Non-ECC DIMMs
Serial Presence Detect
DDR2 667 MHz or DDR2 533 MHz SDRAM DIMMs
Last edited by MW (2013-11-22 23:54:38)
Offline
I think your first hunch is correct. Or at least Wikipedia lists the 945 chipsets as only supporting 4GB or 2GB of memory max:
https://en.wikipedia.org/wiki/List_of_I … E_chipsets
Also that chipset is so old is very rare to find any mention of using 8GB of memory with it. Most forum posts only mention 4GB.
Offline
This is odd, I suppose it could be that the board is limited to 4gb, but when 64bit went mainstream the big advantage was more ram. Seems silly to me.
But perhaps you are correct, maybe i'll see if I can find another board somewhere that supports more ram.
Offline
You said you had CRUX on the machine, and it recognized all the memory -- are you sure?
I also have to ask what your server is doing that needs so much memory. I'm just curious.
Offline
According to DMI, you have two 512MB modules on channel A and two 2GB modules on channel B.
Having different amount of memory on each channel is worse for performance and, IIRC, unsupported by many old chipsets. Try swapping modules so that each channel gets 2GB+512MB.
Offline
Well there is some missinformation here how come you use to have more RAM on the same machine when specs are clear max 4 GB - reference here
Also you can check if you have enough address space
cat /proc/cpuinfo | grep 'address size'
address sizes : 36 bits physical, 48 bits virtual
should be more than 32 for both
EDIT:
BTW this apply to PAE ( aka. ugly hackish way to have more RAM with 32 bit) also
Last edited by cybertorture (2013-11-23 11:29:42)
O' rly ? Ya rly Oo
Offline
I run a minecraft server on it, and sadly java/minecraft is not well optimized, with java limited to 3gb, it uses around 3.2.
here is the output of cybertortures command
[mc@server ~]$ cat /proc/cpuinfo | grep 'address size'
address sizes : 36 bits physical, 48 bits virtual
address sizes : 36 bits physical, 48 bits virtual
I have had several machines in the past few years i ran as servers, so I may be confused as to which had crux. I know this one did, but I can't remember if it showed the right amount of ram or not.
I do still have it installed on a separate partition so I will boot it back up and see.
EDIT:
I booted into CRUX and it also displays 3.5gb so I have a feeling this is indeed the limit.
why does the bios display the proper amount of ram total if the controller doesn't support that much?
Last edited by JarodTLG (2013-11-23 21:53:21)
Offline
Well ok , it seems that this HW is capable of running >4GB , only 1 think comes to my mind - is there a "certified list" of "compatible sticks of memory" or something like that in user's manual ?. So far i only saw ASUS does this shit of not allowing You to use any memory if you want to get max avaiable.
Other than that i m out of ideas.
O' rly ? Ya rly Oo
Offline
A few thoughts:
- Detection of total installed ram is different than using all the ram's capacity. I'm not sure how detection is done but most probably it uses the SPD chip on the ram stick.
- Using different capacity sticks, in whichever permutation you try, is never a good idea and is unsupported at best. Many manuals have a warning about that.
- I've read somewhere on this forums (quite a long time ago), that although the cpu is capable of addressing more than 4GB of ram, some early boards/chipsets didn't actually implement/use all the necessary pcb traces to access more than 4GB of ram. If I'm not mistaken the thread was about a problem very similar to yours (about an Intel chipset/board).
R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K
Offline