Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Living with bad memory (memtest86+,memmap=,memtester)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
user
Apprentice
Apprentice


Joined: 08 Feb 2004
Posts: 202

PostPosted: Sun Oct 26, 2008 12:41 pm    Post subject: Living with bad memory (memtest86+,memmap=,memtester) Reply with quote

1) Analyze
After getting compile errors and segfault messages in messages.log
Quote:

local[6182]: segfault at 158 ip 7fcdbaf1996e sp 7fffc380fc70 error 4 in libdb-4.5.so[7fcdbae8f000+118000]
local[14028]: segfault at 158 ip 7f946c6d496e sp 7fff74fc9420 error 4 in libdb-4.5.so[7f946c64a000+118000]
local[26778]: segfault at 158 ip 7f979fd7996e sp 7fffa866dad0 error 4 in libdb-4.5.so[7f979fcef000+118000]
updrrd-shaping.[11938]: segfault at 5f3ac1e9fb68 ip 7f3ac1bcde77 sp 7fffcadac110 error 4 in libc-2.7.so[7f3ac1b5c000+13e000]
entropy[13761]: segfault at 3f61dc56ae60 ip 3f61dc56ae60 sp 7fffe4f0f418 error 14 in libnss_files-2.7.so[7f61dbd18000+a000]

run memtester and memtest86+ to confirm bad memory.

2) Solution
First simple trick is to swap memory module maybe there is a pin-out contact problem.
Reducing memory clock rate/latency maybe signals are too extreme.

No success? Now we try to exclude bad memory from linux kernel. Kernel 2.6.25 document says
Quote:

[KNL,ACPI] Mark specific memory as reserved.
Region of memory to be used, from ss to ss+nn.
Example: Exclude memory from 0x18690000-0x1869ffff
memmap=64K$0x18690000
or
memmap=0x10000$0x18690000

Finding exact bad memory address by memtest86+.
If you have too many hits select error summary by selecting c,4,1.
You will see your lowest and highest error address and errors per memory slot.
Repeating memory check takes some hours but hey you want a stable system.

So, if you have
Quote:

lowest error address: 000648ac038
highest error address: 00065cadffc

kernel parameter memmap= looks like this
Quote:

memmap=0x1401fc4$0x648ac038

Add your memmap parameter to your grub menu and test it.

3) Test
We are all humans and make errors, so testing is always good.

Comparing your bootlog/dmesg and check if your memmap parameter works
Quote:

-Memory: 2055580k/2097088k available (2654k kernel code, 40440k reserved, 681k data, 264k init)
+Memory: 2035092k/2097088k available (2656k kernel code, 40440k reserved, 680k data, 264k init)

Looks good, missing 20448k nearly equal to 0x1401fc4 bytes

Last step is testing your free memory with memtester again
Quote:

# memtester 1800 1
memtester version 4.0.7 (64-bit)
Copyright (C) 2006 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffffffffffff000
want 1800MB (1887436800 bytes)
got 1800MB (1887436800 bytes), trying mlock ...locked.
Loop 1/1:
Stuck Address : ok
Random Value : ok
Compare XOR : ok
Compare SUB : ok
Compare MUL : ok
Compare DIV : ok
Compare OR : ok
Compare AND : ok
Sequential Increment: ok
Solid Bits : ok
Block Sequential : ok
Checkerboard : ok
Bit Spread : ok
Bit Flip : ok
Walking Ones : ok
Walking Zeroes : ok

Done.

Share your saved money with your girl.

search tag: memtester memtest memtest86 memtest86+ memmap memmap= badmem
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum