diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /Documentation/memory.txt |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'Documentation/memory.txt')
-rw-r--r-- | Documentation/memory.txt | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/Documentation/memory.txt b/Documentation/memory.txt new file mode 100644 index 000000000000..2b3dedd39538 --- /dev/null +++ b/Documentation/memory.txt | |||
@@ -0,0 +1,60 @@ | |||
1 | There are several classic problems related to memory on Linux | ||
2 | systems. | ||
3 | |||
4 | 1) There are some buggy motherboards which cannot properly | ||
5 | deal with the memory above 16MB. Consider exchanging | ||
6 | your motherboard. | ||
7 | |||
8 | 2) You cannot do DMA on the ISA bus to addresses above | ||
9 | 16M. Most device drivers under Linux allow the use | ||
10 | of bounce buffers which work around this problem. Drivers | ||
11 | that don't use bounce buffers will be unstable with | ||
12 | more than 16M installed. Drivers that use bounce buffers | ||
13 | will be OK, but may have slightly higher overhead. | ||
14 | |||
15 | 3) There are some motherboards that will not cache above | ||
16 | a certain quantity of memory. If you have one of these | ||
17 | motherboards, your system will be SLOWER, not faster | ||
18 | as you add more memory. Consider exchanging your | ||
19 | motherboard. | ||
20 | |||
21 | All of these problems can be addressed with the "mem=XXXM" boot option | ||
22 | (where XXX is the size of RAM to use in megabytes). | ||
23 | It can also tell Linux to use less memory than is actually installed. | ||
24 | If you use "mem=" on a machine with PCI, consider using "memmap=" to avoid | ||
25 | physical address space collisions. | ||
26 | |||
27 | See the documentation of your boot loader (LILO, loadlin, etc.) about | ||
28 | how to pass options to the kernel. | ||
29 | |||
30 | There are other memory problems which Linux cannot deal with. Random | ||
31 | corruption of memory is usually a sign of serious hardware trouble. | ||
32 | Try: | ||
33 | |||
34 | * Reducing memory settings in the BIOS to the most conservative | ||
35 | timings. | ||
36 | |||
37 | * Adding a cooling fan. | ||
38 | |||
39 | * Not overclocking your CPU. | ||
40 | |||
41 | * Having the memory tested in a memory tester or exchanged | ||
42 | with the vendor. Consider testing it with memtest86 yourself. | ||
43 | |||
44 | * Exchanging your CPU, cache, or motherboard for one that works. | ||
45 | |||
46 | * Disabling the cache from the BIOS. | ||
47 | |||
48 | * Try passing the "mem=4M" option to the kernel to limit | ||
49 | Linux to using a very small amount of memory. Use "memmap="-option | ||
50 | together with "mem=" on systems with PCI to avoid physical address | ||
51 | space collisions. | ||
52 | |||
53 | |||
54 | Other tricks: | ||
55 | |||
56 | * Try passing the "no-387" option to the kernel to ignore | ||
57 | a buggy FPU. | ||
58 | |||
59 | * Try passing the "no-hlt" option to disable the potentially | ||
60 | buggy HLT instruction in your CPU. | ||