[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Moving from a "686-pae" kernel to "amd64"?



Bob Proulx a écrit :
> Sharon Kimble wrote:
>> This setup is currently running a "3.16.0-4-686-pae" kernel. Is it a
>> good idea to convert to a 64bit kernel, specifically
>> "3.16.0-4-amd64"?
> 
> How much memory do you have in your system?
> 
> If the answer is 4G or less then there is no advantage.  Stay with the
> 32-bit kernel.  If the answer is 64G or more then yes you should
> definitely use a 64-bit kernel.  If the answer is between 4G and 64G
> then the answer is "it depends" and there are advantages and
> disadvantages to both.
> 
> A 64-bit kernel won't have much advantage for a 32-bit userspace.

Quote for the kernel source :
  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 the address range available to the kernel is less than the
  physical memory installed, the remaining memory will be available
  as "high memory". Accessing high memory is a little more costly
  than low memory, as it needs to be mapped into the kernel first.

By default, a 32-bit kernel splits the 4 GiB address space in 1 GiB for
low memory and 3 GiB for user address space. So all physical memory
above 1 GiB (high memory) cannot be permanently mapped, and each user
process has a usable virtual address space of 3 GiB.

IIRC, a 64-bit kernel gets rid of the memory split, which has two
advantages :
- all physical memory is mapped permanently, no more low/high memory
above 1 GiB
- 32-bit user processes have a usable virtual address space of 4 GiB
instead of 3 GiB.

So I guess that memory intensive 32-bit applications could take
advantage of a 64-bit kernel.

> Is your web browser exceeding 3G of ram image?

Is this possible with a 32-bit kernel ?


Reply to: