How to check AIX 5.2 Shared memory size ? - Aix

This is a discussion on How to check AIX 5.2 Shared memory size ? - Aix ; Hi All How to check AIX 5.2 Shared memory size ? moonhkt...

+ Reply to Thread
Results 1 to 8 of 8

Thread: How to check AIX 5.2 Shared memory size ?

  1. How to check AIX 5.2 Shared memory size ?

    Hi All

    How to check AIX 5.2 Shared memory size ?

    moonhkt

  2. Re: How to check AIX 5.2 Shared memory size ?

    moonhkt wrote:
    > How to check AIX 5.2 Shared memory size ?


    You don't. You don't need to. The total number of possible shared
    memory segments on AIX is much larger than you'll ever utilize.

    If that doesn't address your question, restate your question with
    more information.

  3. Re: How to check AIX 5.2 Shared memory size ?

    On 6月27日, 上午1時31分, "Gary R. Hook" wrote:
    > moonhkt wrote:
    > > How to check AIX 5.2 Shared memory size ?

    >
    > You don't. You don't need to. The total number of possible shared
    > memory segments on AIX is much larger than you'll ever utilize.
    >
    > If that doesn't address your question, restate your question with
    > more information.


    One of application run on AIX 5.2 have below error message.
    08:16:19 SERVER : Maximum number of shared-memory segments per
    process exceeded. (1175)

  4. Re: How to check AIX 5.2 Shared memory size ?

    On Jun 27, 6:13 am, moonhkt wrote:
    > On 6月27日, 上午1時31分, "Gary R. Hook" wrote:
    >
    > > moonhkt wrote:
    > > > How to check AIX 5.2 Shared memory size ?

    >
    > > You don't. You don't need to. The total number of possible shared
    > > memory segments on AIX is much larger than you'll ever utilize.

    >
    > > If that doesn't address your question, restate your question with
    > > more information.

    >
    > One of application run on AIX 5.2 have below error message.
    > 08:16:19 SERVER : Maximum number of shared-memory segments per
    > process exceeded. (1175)


    One way is to use ipcs with various options as required (for seg size
    use -b). If the process ID is known, use svmon -P to check
    various shared mem segments. In any case, the max number of segments
    (of size 256 MB), a process can use is 10 with address range from
    0x30000000 - 0xcfffffff.
    HTH
    Regards,
    Ashok Sangra




  5. Re: How to check AIX 5.2 Shared memory size ?

    On 06/27/2008 10:33 AM, Ashok Sangra wrote:
    > On Jun 27, 6:13 am, moonhkt wrote:
    >> On 627, 131, "Gary R. Hook" wrote:
    >>
    >>> moonhkt wrote:
    >>>> How to check AIX 5.2 Shared memory size ?
    >>> You don't. You don't need to. The total number of possible shared
    >>> memory segments on AIX is much larger than you'll ever utilize.
    >>> If that doesn't address your question, restate your question with
    >>> more information.

    >> One of application run on AIX 5.2 have below error message.
    >> 08:16:19 SERVER : Maximum number of shared-memory segments per
    >> process exceeded. (1175)

    >
    > One way is to use ipcs with various options as required (for seg size
    > use -b). If the process ID is known, use svmon -P to check
    > various shared mem segments. In any case, the max number of segments
    > (of size 256 MB), a process can use is 10 with address range from
    > 0x30000000 - 0xcfffffff.


    It really depends on the kernel (32/64) and the memory model used if I
    understand it right.

    If the OP is running 64-bit kernel and compiles with -q64, he could have
    access to ~4,300,000,000 segments.

    cheers
    Niel

  6. Re: How to check AIX 5.2 Shared memory size ?

    Niel Lambrechts wrote:
    > On 06/27/2008 10:33 AM, Ashok Sangra wrote:
    >> On Jun 27, 6:13 am, moonhkt wrote:
    >>> On 627, 131, "Gary R. Hook" wrote:
    >>>
    >>>> moonhkt wrote:
    >>>>> How to check AIX 5.2 Shared memory size ?
    >>>> You don't. You don't need to. The total number of possible shared
    >>>> memory segments on AIX is much larger than you'll ever utilize.
    >>>> If that doesn't address your question, restate your question with
    >>>> more information.
    >>> One of application run on AIX 5.2 have below error message.
    >>> 08:16:19 SERVER : Maximum number of shared-memory segments per
    >>> process exceeded. (1175)

    >>
    >> One way is to use ipcs with various options as required (for seg size
    >> use -b). If the process ID is known, use svmon -P to check
    >> various shared mem segments. In any case, the max number of segments
    >> (of size 256 MB), a process can use is 10 with address range from
    >> 0x30000000 - 0xcfffffff.

    >
    > It really depends on the kernel (32/64) and the memory model used if I
    > understand it right.


    No. The kernel has nothing to do with it. The number of segments
    available to a single process is dependent upon the address space model.
    On AIX, 32-bit processes and 64-bit processes can both run on (older
    systems on) either kernel. And each bitness has its own limits when
    it comes to segments.

    > If the OP is running 64-bit kernel and compiles with -q64, he could have
    > access to ~4,300,000,000 segments.


    Yes, a 64-bit program can access many, many segments, but on older
    levels of AIX the program could also run on a 32-bit kernel. Just like
    a 64-bit kernel doesn't increase the number of segments a 32-bit process
    can access. Orthogonal issues.

    The OP's (32-bit) program ran out of segments. That's a problem in
    the program and its use of shared memory. Either use EXTSHM
    (documented) or discuss the programs limitations with the author.
    If the program is developed in-house, research the address space
    model in the AIX pubs for a better understanding of what is and is
    not possible.

    Or go to 64-bit.

  7. Re: How to check AIX 5.2 Shared memory size ?

    On 07/07/2008 05:14 AM, Gary R. Hook wrote:
    > Niel Lambrechts wrote:
    >> On 06/27/2008 10:33 AM, Ashok Sangra wrote:
    >>> On Jun 27, 6:13 am, moonhkt wrote:
    >>>> On 627, 131, "Gary R. Hook" wrote:
    >>>>
    >>>>> moonhkt wrote:
    >>>>>> How to check AIX 5.2 Shared memory size ?
    >>>>> You don't. You don't need to. The total number of possible shared
    >>>>> memory segments on AIX is much larger than you'll ever utilize.
    >>>>> If that doesn't address your question, restate your question with
    >>>>> more information.
    >>>> One of application run on AIX 5.2 have below error message.
    >>>> 08:16:19 SERVER : Maximum number of shared-memory segments per
    >>>> process exceeded. (1175)
    >>>
    >>> One way is to use ipcs with various options as required (for seg size
    >>> use -b). If the process ID is known, use svmon -P to check
    >>> various shared mem segments. In any case, the max number of segments
    >>> (of size 256 MB), a process can use is 10 with address range from
    >>> 0x30000000 - 0xcfffffff.

    >>
    >> It really depends on the kernel (32/64) and the memory model used if I
    >> understand it right.

    >
    > No. The kernel has nothing to do with it.
    > The number of segments
    > available to a single process is dependent upon the address space model.


    Apologies... you are right - the address space is not determined by
    whether the *kernel* is 32/64 bit, but primarily by whether the
    *application* is 32/64 bit.

    Small nitpick - I still disagree with what was mentioned by Ashok:

    A maximum of *11* shared segments (0x3-0xC and 0xE) is usable in the
    default small memory model.

    With the Large memory model the number of usable shared segments gets
    reduced (by up to 8 segments) to cater for a larger heap.

    With the Very Large model a maximum of 13 shared segments (0x3 - 0xF) =
    3GB can be used.

    Things are of course completely different when using EXTSHM (up to
    131072 segments).

    cheers
    Niel

  8. Re: How to check AIX 5.2 Shared memory size ?

    Niel Lambrechts wrote:
    > Small nitpick - I still disagree with what was mentioned by Ashok:
    >
    > A maximum of *11* shared segments (0x3-0xC and 0xE) is usable in the
    > default small memory model.
    >
    > With the Large memory model the number of usable shared segments gets
    > reduced (by up to 8 segments) to cater for a larger heap.
    >
    > With the Very Large model a maximum of 13 shared segments (0x3 - 0xF) =
    > 3GB can be used.
    >
    > Things are of course completely different when using EXTSHM (up to
    > 131072 segments).


    Yes, precisely. In the 32-bit address space there are a number of
    variants of the memory model that affect the use of shared memory segments.



+ Reply to Thread