mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Address space for user process
@ 2004-07-07 14:35 Christoph Pleger
  2004-07-07 14:46 ` Doug McNaught
  2004-07-07 14:50 ` Richard B. Johnson
  0 siblings, 2 replies; 3+ messages in thread
From: Christoph Pleger @ 2004-07-07 14:35 UTC (permalink / raw)
  To: linux-kernel

Hello,

I read that - at least in Kernel 2.4 - the amount of memory that can be
addressed by a user process is limited to 3 GB, no matter how much
virtual memory is present. Is it possible to raise that limit?

Kind regards
  Christoph

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Address space for user process
  2004-07-07 14:35 Address space for user process Christoph Pleger
@ 2004-07-07 14:46 ` Doug McNaught
  2004-07-07 14:50 ` Richard B. Johnson
  1 sibling, 0 replies; 3+ messages in thread
From: Doug McNaught @ 2004-07-07 14:46 UTC (permalink / raw)
  To: Christoph Pleger; +Cc: linux-kernel

Christoph Pleger <Christoph.Pleger@uni-dortmund.de> writes:

> Hello,
>
> I read that - at least in Kernel 2.4 - the amount of memory that can be
> addressed by a user process is limited to 3 GB, no matter how much
> virtual memory is present. Is it possible to raise that limit?

That's limit of the ix86 architecture, not Linux.  64-bit systems
running Linux have no such limit.

That said, there are patches for 2.4 that create separate address
spaces for kernel and user (search for '4G/4G') at the cost of a
(sometimes significant) performance penalty.  4GB per-process is a
hard limit on 32-bit systems, so it's the most you'll get.

-Doug

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Address space for user process
  2004-07-07 14:35 Address space for user process Christoph Pleger
  2004-07-07 14:46 ` Doug McNaught
@ 2004-07-07 14:50 ` Richard B. Johnson
  1 sibling, 0 replies; 3+ messages in thread
From: Richard B. Johnson @ 2004-07-07 14:50 UTC (permalink / raw)
  To: Christoph Pleger; +Cc: linux-kernel

On Wed, 7 Jul 2004, Christoph Pleger wrote:

> Hello,
>
> I read that - at least in Kernel 2.4 - the amount of memory that can be
> addressed by a user process is limited to 3 GB, no matter how much
> virtual memory is present. Is it possible to raise that limit?
>
> Kind regards
>   Christoph

Sure. Use two (or more) tasks. It is a per-process limit because
in Unix the kernel shares the processes address space. See
how your process is laid out by executing this:

#include <stdio.h>
extern char _start;
extern char _end;
char dat;
const char x[]="x";
int main()
{
    char foo;
    printf("start = %p\n", &_start);
    printf(" main = %p\n", main);
    printf(" data = %p\n", &dat);
    printf("const = %p\n", x);
    printf("stack = %p\n", &foo);
    printf("  end = %p\n", &_end);
    return 0;
}

Cheers,
Dick Johnson
Penguin : Linux version 2.4.26 on an i686 machine (5570.56 BogoMips).
            Note 96.31% of all statistics are fiction.



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-07-07 14:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-07-07 14:35 Address space for user process Christoph Pleger
2004-07-07 14:46 ` Doug McNaught
2004-07-07 14:50 ` Richard B. Johnson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®