Unix

NAVIGATION
CATEGORIES
REFERRENCE
LINKS
  • Solaris-10: 4GB max process size ?

    1 answers - 1414 bytes - related search similar search Add To My Delicious Add To My Stumble Upon Add To My Google Mark Add To My Facebook Add To My Digg Add To My Reddit

    Hi,
    recently re-installed E25K domains with Solaris-10, and my users complain that their application fails to load a big chunk of data into memory to produce later an output file with reworked data. When they ran their program on the same box but under Solaris-8, such output file was about 250MB in size, so not spectacular.
    While I monitor the size of such process (in Solaris-10) during its loading of data, it exits just around 4GB of virtual memory size, with error "out of memory".
    So I reproduce this, with a small C-program that calls "malloc()" for chunks of 200MB each. It does so till exactly 4GB, than terminates with "Not enough space"
    My server has 128GB of RAM installed, 4GB of swap.
    While I run my tiny (but growing) program, the swap remains entirely unused ("swap -l" reports all 4GB free), and RAM decreases from around 82GB free to 78GB free, then back (when the space from my program is returned).
    I searched all around the kernel params, docs.sun.com, and Google, but nowhere anything that resembles a 32-bit behaviour to limit memory size per process to 4GB.
    Yes, my machine runs in 64-bit mode ("isainfo -v" reports 64-bit sparcv9 kernel)
    My user (as any other user) has
    % ulimit -a
    virtual memory (kbytes) unlimited
    Any hints or tips?
    Rob
    sunmanagers mailing list
    sunmanagers (AT) sunmanagers (DOT) org
  • No.1 | | 1674 bytes | |

    Found it : compiled my test-program with "gcc", so started searching if
    "gcc" needs to produce code specially for 64-bit environments -"-m64"
    option

    gcc -m64 -o memalloc memalloc.c

    Now it runs as a glitch over the 4GB 'boundary'

    Rob

    Rob De Langhe wrote:

    Hi,

    recently re-installed E25K domains with Solaris-10, and my users
    complain that their application fails to load a big chunk of data into
    memory to produce later an output file with reworked data. When they
    ran their program on the same box but under Solaris-8, such output
    file was about 250MB in size, so not spectacular.
    While I monitor the size of such process (in Solaris-10) during its
    loading of data, it exits just around 4GB of virtual memory size, with
    error "out of memory".

    So I reproduce this, with a small C-program that calls "malloc()" for
    chunks of 200MB each. It does so till exactly 4GB, than terminates
    with "Not enough space"

    My server has 128GB of RAM installed, 4GB of swap.
    While I run my tiny (but growing) program, the swap remains entirely
    unused ("swap -l" reports all 4GB free), and RAM decreases from
    around 82GB free to 78GB free, then back (when the space from my
    program is returned).

    I searched all around the kernel params, docs.sun.com, and Google, but
    nowhere anything that resembles a 32-bit behaviour to limit memory
    size per process to 4GB.
    Yes, my machine runs in 64-bit mode ("isainfo -v" reports 64-bit
    sparcv9 kernel)
    My user (as any other user) has % ulimit -a
    virtual memory (kbytes) unlimited

    Any hints or tips?

    Rob
    --

Re: Solaris-10: 4GB max process size ?


max 4000 letters.
Your nickname that display:
In order to stop the spam: 7 + 6 =
QUESTION ON "Unix"

EMSDN.COM