1 |
* Ralph Slooten <axllent@×××××.com> [2006-06-19 00:25]: |
2 |
> David Klempner wrote: |
3 |
> > Note that without doing *anything*, with a normal 3G/1G split, you'll |
4 |
> > actually get 896M. Recent kernels added in a config option to have a |
5 |
> > 2.75G/1.25G split, which solves this problem; it makes sense to use that |
6 |
> > if you have 1G of RAM. |
7 |
> |
8 |
> This option must be really new because I don't have it. I have two 3/1 |
9 |
> options, a 2/2 option and a 1/3 option. Either way, I'm now using 2GB. |
10 |
|
11 |
It's one of the two "3/1" options; one of them is a PAGE_OFFSET of |
12 |
0xC0000000 (3G) and the other is 0xB0000000 (2.75G); the latter is |
13 |
suggested for someone using 1GB. (I was making that change myself by |
14 |
hand until they added that option.) |
15 |
|
16 |
In fact, the 2G option is slightly lower than 2G, which is why it works |
17 |
with 2G of RAM. |
18 |
|
19 |
> Maybe this is the case, I'm not sure. For testing some other software I |
20 |
> upgraded to 2.16.6.16 2 weeks ago (when I still had 1GB) which resulted |
21 |
> in the same problem. I then went back to the previous-compiled 2.6.16.5 |
22 |
> version which worked flawlessly. It is only now that I have actually |
23 |
> rebuilt the 2.6.16.5 kernel (due to RAM upgrade) and am having the same |
24 |
> problem. The NVidial kernel and glx (to be sure) were also rebuilt. |
25 |
> |
26 |
> I did a bit of testing last night before I went to bed and it seems that |
27 |
> no matter what options I use in the kernel I'm getting bad performance |
28 |
> now from the graphics card. It still gets > 4000 fps with glxgears |
29 |
> though, so I'm not 100% sure it is the graphics card. |
30 |
> |
31 |
> The question I was meaning to ask is what the ideal kernel settings |
32 |
> should be for 2GB of RAM... from there I'll look for other explanations |
33 |
> why the 3d isn't performing well. |
34 |
|
35 |
Do you have performance problems with any other applications? It |
36 |
wouldn't surprise me too much if it's some random library issue that |
37 |
specifically affects that game. |
38 |
|
39 |
> Should I use 2/2 *and* highmem, or just 2/2 ? You suggest the highmem |
40 |
> does very little, but it's there for a valid reason I take it. |
41 |
|
42 |
If you're doing 2/2, then don't bother with highmem. Without highmem, |
43 |
the kernel maps all of physical memory into its address space; this is |
44 |
naive and fast, but it means that normal processes don't get use of that |
45 |
space. This isn't a problem for most applications, but there are a few |
46 |
that expect the extra address space to be available. A direct result of |
47 |
the 2/2 split is that no single process can, even in theory, (directly) |
48 |
use more than 2G of RAM, because it can't even *address* more than 2G. |
49 |
|
50 |
This would be a more noticeable issue if you had 3G of RAM and did the |
51 |
1/3 split; at that point, no process could use more than 1G. I've seen |
52 |
long running processes (for example, firefox after a month with several |
53 |
dozen open tabs) use more than that. |
54 |
|
55 |
Highmem adds an extra layer of indirection to solve this problem; it's |
56 |
slightly slower (but, I understand, the cost is minimal) but lets you |
57 |
have your address space back while still being able to use all of your |
58 |
RAM. |
59 |
|
60 |
My suggestion is to use 3/1 with highmem. If you want, you could also |
61 |
use 2/2 without highmem; it would probably be just slightly faster, but |
62 |
could break stuff. Using 2/2 with highmem is (I think) pointless. |