1 |
"Vesna Petrovic" <vesna.petrovic@×××××.com> posted |
2 |
60bedadc0611011159s301f9b4eg76ac6e3e63e2f1b7@××××××××××.com, excerpted |
3 |
below, on Wed, 01 Nov 2006 14:59:59 -0500: |
4 |
|
5 |
> You were right, the problem does seem to be memory. I swapped the memory |
6 |
> modules, and the system was not freezing any more. I started getting |
7 |
> 'Segmentation fault' errors during compile, so I limited the memory clock in |
8 |
> BIOS @ 166MHZ. Now everything works fine. |
9 |
> How can I find out what is the best value to set the memory clock limit to? |
10 |
> I tried 200MHz, and the segmentation faults still occurred. When I set 183 |
11 |
> MHz, BIOS reported that the memory clock is 'unknown'. So I set it to |
12 |
> 166MHz, which was the next value in the list. Is this a good method for |
13 |
> determining the best value? |
14 |
|
15 |
Well, memory sticks normally have a chip in them that tells the system |
16 |
what their timings should be. Ideally, the system can read this info and |
17 |
configure the system hardware based on it, and there won't be an issue. |
18 |
Unfortunately, particularly with generic memory, which is often branded |
19 |
memory that simply didn't pass some test or another so it's rejected for |
20 |
branded and gets sold as generic (thus explaining why generic is much |
21 |
cheaper), reality doesn't always match the claims the stick makes. Also, |
22 |
certain motherboards don't function perfectly with certain memory, due to |
23 |
capacitance and other "noise in the circuit traces" issues. These issues |
24 |
of course get worse as operating frequency increases, so as memory speeds |
25 |
get faster and faster, sensitivity to these sorts of issues gets more and |
26 |
more common. IOW, it's not /always/ the memory at fault. Sometimes it's |
27 |
the mobo or neither one fully, but simply a bad interaction between that |
28 |
particular memory and that particular mobo. |
29 |
|
30 |
Again ideally, when an issue such as this appears, the memory is still new |
31 |
and you can send it back for an exchange or refund. If it won't work at |
32 |
rated speeds, that's the preferred solution. Of course, if you are reusing |
33 |
memory previously used elsewhere, or otherwise don't have a warrantee you |
34 |
can fall back on, that "preferred solution" may not be available, and you |
35 |
get to try to cope with what you have the best way you can. |
36 |
|
37 |
As far as the method you used to determine the limit speed value, yeah, |
38 |
that's more or less what one does... Again, it's not ideal, ideal is |
39 |
sending the memory back for a replace or refund, but ideal isn't always an |
40 |
available option. |
41 |
|
42 |
In my case, once a BIOS upgrade with the memory declock option became |
43 |
available, I was fortunate enough to only need to declock one notch, from |
44 |
200 MHz (DDRed to 400 MHz, times the 8-bit bus, equals the standard |
45 |
PC3200, 3200 MB/sec rating) to 183.3 MHz (DDRed to 366.6 MHz, x 8 ~= |
46 |
PC3000). At 183.3 MHz it was rock-stable -- I was even able to tweak the |
47 |
individual wait-state timings up a few notches, without compromising |
48 |
stability at all, thus regaining a bit of the performance I'd lost with the |
49 |
declock. |
50 |
|
51 |
In your case, it appears you are having to declock a couple notches. |
52 |
However, provided you have the BIOS settings to tweak individual memory |
53 |
parameters, AND THE PATIENCE TO DO IT, you can probably tweak the |
54 |
individual timings up a bit as I could, thus recovering some of the lost |
55 |
performance. You need a guide to what all those settings are, of course, |
56 |
in ordered to do anything reasonable instead of just randomly poking |
57 |
about in the dark, but google is your friend as it was mine. The bigger |
58 |
problem is that as you get closer to the tolerances of the hardware, |
59 |
you'll find you have almost but not entirely stable performance, that will |
60 |
require running the system normally for some time to test stability, |
61 |
between tweaks. You'll need to run it for a day or more, doing some |
62 |
emerges or other serious system stressing, between each tweak. Since |
63 |
booting actually takes time as well and I normally keep my system on 24/7, |
64 |
while I did some tweaking, I never did find out how far I could actually |
65 |
go or which particular setting was the most sensitive and thus likely the |
66 |
one that destabilized it at the faster speeds. |
67 |
|
68 |
So yeah, assuming you can't send the memory back, the method you used to |
69 |
figure out the best clocking you could get was fine. You may be able to |
70 |
tweak things further, but at some point you are spending far more time |
71 |
tweaking and testing than you would be just using the slower memory |
72 |
settings as they are, and further tweaking /is/ something of a black art, |
73 |
so... |
74 |
|
75 |
Of course, the other alternative, even if you can't send the memory back, |
76 |
is to accelerate your memory upgrade plans. The memory I had the issues |
77 |
with was two sticks of half-gig, giving me a gig of memory total. |
78 |
Eventually, I upgraded to 8 gig of memory. That's overkill for the time |
79 |
being for me, but four gig should be nice, and will allow you to do things |
80 |
like putting $PORTAGE_TMPDIR on tmpfs so your compiles use memory instead |
81 |
of disk for scratch-space. That makes a pretty big difference in compile |
82 |
speeds. =8^) |
83 |
|
84 |
(I went ahead and did the 8 gig here, as I'm running a dual Opteron system |
85 |
currently with 242s, and am planning on upgrading to dual-core 285s either |
86 |
late this year or early next (they are down to ~$1300 for the pair of 285s |
87 |
on pricewatch, now). That'll be my last upgrade system upgrade for some |
88 |
time, two, likely three years or longer. Since I bought the system and set |
89 |
it up, originally with dual 242s and a gig of memory, in late 2003, |
90 |
meaning it's three years old now, by the time I upgrade again, the mobo |
91 |
will be at LEAST five years old, very likely six, and possibly seven or |
92 |
more! Of course, it was a $400 mobo, too, so it SHOULD last awhile. I |
93 |
expect that when I /do/ upgrade again, it'll be to a single CPU system |
94 |
once again, but by that time the single CPU will be 8-core, thus providing |
95 |
a decent upgrade from what will be a dual-dual-core system, four-cores |
96 |
total. I also expect I'll pay significantly less for it than I did for |
97 |
this one as originally outfitted, back in 2003.) |
98 |
|
99 |
(Note that with AMD's plans for multi-socket boards that can take CPUs, |
100 |
GPUs and assorted other coprocessing units interchangeable in the same |
101 |
sockets, I didn't say single-socket board. I expect my next upgrade will |
102 |
again be dual-socket, but that dual-socket boards will be commonplace and |
103 |
much cheaper by then, as that'll be a standard solution for plugging in |
104 |
GPUs and the like, and indeed, I expect I'll install that single 8-core CPU |
105 |
in one, and whatever GPU in the other. Who knows? Maybe high-speed |
106 |
memory will come in the same socket form-factor by then, and it'll be a |
107 |
quad-socket board, one for the 8-core CPU, one for the GPU, and two for |
108 |
memory.) |
109 |
|
110 |
-- |
111 |
Duncan - List replies preferred. No HTML msgs. |
112 |
"Every nonfree program has a lord, a master -- |
113 |
and if you use the program, he is your master." Richard Stallman |
114 |
|
115 |
-- |
116 |
gentoo-amd64@g.o mailing list |