← Back to team overview

sslug-teknik team mailing list archive

Re: Max. memory i linux kernen - nogen performance forskel?

 

In <OFFE4FBD70.C97DCEF5-ONC1256A3E.003427DA@xxxxx> "Klavs Klavsen" <ktk@xxxxxxxxxxx> writes:

>Jeg tænkte på om nogen af jer, kender til en evt. performance forskel
>i om man vælger at kernen skal supportere 1GB eller 2GB memory.. og

Der er en forskel, men du vil formentlig ikke se den. Hvis du vælger
2 GB support, så bliver det virtuelle adresserum som er tilgængeligt
for en enkelte proces mindre (ja, det lyder forkert - men det er fordi
adresserummet skal splittes anderledes mellem kerne- og user-mode
memory). 

Det er egentlig forklaret meget godt i hjælpeteksten til 
CONFIG_NOHIGHMEM optionen i kernen:

  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 more than 4 Gigabytes is used then answer "64GB" here. This
  selection turns Intel PAE (Physical Address Extension) mode on.
  PAE implements 3-level paging on IA32 processors. PAE is fully
  supported by Linux, PAE mode is implemented on all recent Intel
  processors (Pentium Pro and better). NOTE: If you say "64GB" here,
  then the kernel will not boot on CPUs that don't support PAE!


>ligeledes i forhold til SMP og 1GB vs 2GB..?

Der er et performance-hit ved at vælge SMP kontra ikke-SMP, idet
spinlock koden som beskytter kernens data-strukturer bliver fjernet i
ikke-SMP udgaven. Så at køre en SMP kerne på en uniprocessor maskine
virker, men er lidt langsommere.


Henrik
-- 
Henrik Storner      | "ATA100 is another testimony to the fact that 
<henrik@xxxxxxxxxx> |  pigs can be made to fly given sufficient thrust"
                    | 
                    |          Linux kernel hacker Alan Cox, on IDE drives


References