On Tue, Jun 15, 2004 at 11:19:42PM +0300, Shachar Shemesh wrote:
> From the kernel build system help:
> 
> >Linux can use up to 64 Gigabytes of physical memory on x86 systems.
> >However, the address space of 32-bit x86 processors is only 4
> >Gigabytes large. That means that, if you have a large amount of
> >physical memory, not all of it can be "permanently mapped" by the
> >kernel. The physical memory that's not permanently mapped is called
> >"high memory".
> >
> >If you are compiling a kernel which will never run on a machine with
> >more than 1 Gigabyte total physical RAM, answer "off" here (default
> >choice and suitable for most users). This will result in a "3GB/1GB"
> >split: 3GB are mapped so that each process sees a 3GB virtual memory
> >space and the remaining part of the 4GB virtual memory space is used
> >by the kernel to permanently map as much physical memory as
> >possible.
> >
> >If the machine has between 1 and 4 Gigabytes physical RAM, then
> >answer "4GB" here.
> 
> If choosing "off" gives each process a 3GB usable address space, why 
> should I want to turn it on if my machine only has 2GB?
> 
> If I understand correctly, running in 4GB mode means that I need to 
> remap the kernel space every time I enter kernel context, which imposes 
> some performance penalty. One should think I would like to avoid it if 
> it's not necessary.This means that only going above 3GB would cause me 
> to want to turn this on, and even then, only if I have a single app that 
> needs more than 3GB of memory.
> 

Going above 1GB (actually around 900MB IIRC I have a machine with 1GB
and without highmem I only get around 900MB or 950MB available memory)
requires you to say 4GB otherwise the kernel can't map your whole
memory.

I don't remember the details, but the kernel uses it 1 GB to address
the available memory permanently. The kernel is in charge of allocating
memory to processes, so if it can't address the memory it can't
allocate it.

There is a patch out there that gives you a 2GB/2GB split without high
memory, that could allow you to do what you want without using highmem
(again, you may lose the top 100MB or so if you have exactly 2GB, don't
know though).


Probably someone else here can give you the exact details though.

> Am I wrong here? Is this a bug in the documentation?
> 
>             Shachar
> 
> -- 
> Shachar Shemesh
> Lingnu Open Source Consulting ltd.
> http://www.lingnu.com/
> 
> 
> =================================================================
> To unsubscribe, send mail to [EMAIL PROTECTED] with
> the word "unsubscribe" in the message body, e.g., run the command
> echo unsubscribe | mail [EMAIL PROTECTED]
> 
> 
> +++++++++++++++++++++++++++++++++++++++++++
> This Mail Was Scanned By Mail-seCure System
> at the Tel-Aviv University CC.
> 

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to