2Gb maximum per-process memory limit? - SGI

This is a discussion on 2Gb maximum per-process memory limit? - SGI ; I've recently been surprised to find that I cannot seem to allocate more than about 2Gb total of memory (allocated in small chunks of a few Mb each) in my C++ program running on an Octane2 (Irix 6.5.16m, compiler 7.3.1.3m) ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: 2Gb maximum per-process memory limit?

  1. 2Gb maximum per-process memory limit?

    I've recently been surprised to find that I cannot seem
    to allocate more than about 2Gb total of memory (allocated
    in small chunks of a few Mb each) in my C++ program running
    on an Octane2 (Irix 6.5.16m, compiler 7.3.1.3m) with 2Gb
    of real memory and 14Gb of swap space.

    Is this the maximum per-process memory available under this
    configuration, or am I doing something stupid? The former
    is apparently correct according to limit:

    > limit

    cputime unlimited
    filesize unlimited
    datasize 2097152 kbytes
    stacksize 65536 kbytes
    coredumpsize unlimited
    memoryuse 524288 kbytes
    descriptors 200
    vmemoryuse 2097152 kbytes
    threads 1024

    Is there any way to raise this? I tried compiling with -64
    and it raised the ceiling very slightly (from 1792Mb to 2047Mb)
    on a small chunk of test code in C using malloc. I expected
    this to either do nothing or make a dramatic difference, and I'm
    rather puzzled that it made a *slight* difference. Can anyone
    explain this?

    I can understand why a 32-bit system might be limited to a 2Gb
    address space but why does a relatively new 64-bit Octane2
    system have this limitation? The damn machine can hold up to 8Gb
    of memory alone, forget about swap, so this seems to be an
    unreasonable constraint. Am I just incredibly naive or uninformed
    about some crucial aspect of memory addressing, and if so can
    someone clue me in?

    Thanks!

    --
    Roger Davis
    University of Hawaii/SOEST
    rbd@NoSpamHere.hawaii.edu

  2. Re: 2Gb maximum per-process memory limit?

    On 9/6/2003 1:23 AM, Roger Davis wrote:
    > I've recently been surprised to find that I cannot seem
    > to allocate more than about 2Gb total of memory (allocated
    > in small chunks of a few Mb each) in my C++ program running
    > on an Octane2 (Irix 6.5.16m, compiler 7.3.1.3m) with 2Gb
    > of real memory and 14Gb of swap space.
    >
    > Is this the maximum per-process memory available under this
    > configuration, or am I doing something stupid? The former
    > is apparently correct according to limit:
    >
    >
    >> limit

    >
    > cputime unlimited
    > filesize unlimited
    > datasize 2097152 kbytes
    > stacksize 65536 kbytes
    > coredumpsize unlimited
    > memoryuse 524288 kbytes
    > descriptors 200
    > vmemoryuse 2097152 kbytes
    > threads 1024
    >
    > Is there any way to raise this? I tried compiling with -64
    > and it raised the ceiling very slightly (from 1792Mb to 2047Mb)
    > on a small chunk of test code in C using malloc. I expected
    > this to either do nothing or make a dramatic difference, and I'm
    > rather puzzled that it made a *slight* difference. Can anyone
    > explain this?
    >
    > I can understand why a 32-bit system might be limited to a 2Gb
    > address space but why does a relatively new 64-bit Octane2
    > system have this limitation? The damn machine can hold up to 8Gb
    > of memory alone, forget about swap, so this seems to be an
    > unreasonable constraint. Am I just incredibly naive or uninformed
    > about some crucial aspect of memory addressing, and if so can
    > someone clue me in?
    >
    > Thanks!
    >


    The default system configuration limits per-process data allocation to
    2G. To adjust the parameters, use the 'systune' command.

    IIRC, you need to increase the rlimit_data_max and rlimit_data_cur
    values. You may also need to increase the rlimit_vmem_max and
    rlimit_vmem_cur values.

    After changing the values, reboot and your apps should be able to get
    more memory.


+ Reply to Thread