Diffstat (limited to 'Documentation/memory.txt')
1 files changed, 60 insertions, 0 deletions
diff --git a/Documentation/memory.txt b/Documentation/memory.txt
new file mode 100644
@@ -0,0 +1,60 @@
+There are several classic problems related to memory on Linux
+ 1) There are some buggy motherboards which cannot properly
+ deal with the memory above 16MB. Consider exchanging
+ your motherboard.
+ 2) You cannot do DMA on the ISA bus to addresses above
+ 16M. Most device drivers under Linux allow the use
+ of bounce buffers which work around this problem. Drivers
+ that don't use bounce buffers will be unstable with
+ more than 16M installed. Drivers that use bounce buffers
+ will be OK, but may have slightly higher overhead.
+ 3) There are some motherboards that will not cache above
+ a certain quantity of memory. If you have one of these
+ motherboards, your system will be SLOWER, not faster
+ as you add more memory. Consider exchanging your
+All of these problems can be addressed with the "mem=XXXM" boot option
+(where XXX is the size of RAM to use in megabytes).
+It can also tell Linux to use less memory than is actually installed.
+If you use "mem=" on a machine with PCI, consider using "memmap=" to avoid
+physical address space collisions.
+See the documentation of your boot loader (LILO, loadlin, etc.) about
+how to pass options to the kernel.
+There are other memory problems which Linux cannot deal with. Random
+corruption of memory is usually a sign of serious hardware trouble.
+ * Reducing memory settings in the BIOS to the most conservative
+ * Adding a cooling fan.
+ * Not overclocking your CPU.
+ * Having the memory tested in a memory tester or exchanged
+ with the vendor. Consider testing it with memtest86 yourself.
+ * Exchanging your CPU, cache, or motherboard for one that works.
+ * Disabling the cache from the BIOS.
+ * Try passing the "mem=4M" option to the kernel to limit
+ Linux to using a very small amount of memory. Use "memmap="-option
+ together with "mem=" on systems with PCI to avoid physical address
+ space collisions.
+ * Try passing the "no-387" option to the kernel to ignore
+ a buggy FPU.
+ * Try passing the "no-hlt" option to disable the potentially
+ buggy HLT instruction in your CPU.