SUMMARY: What is meant by "significcantly less than the address space limit"? (fwd)

From: jreed@appliedtheory.com
Date: Thu Oct 03 2002 - 10:18:15 EDT


I asked:
-----------------------------------------------------------------
On Tru64 v5.1a systems with 8GB memory running internet servers and oracle
database, I'm trying to increase various memory parameters, going thru
tuning docs, on both:
        [max_]per_proc_stack_size
and [max_]per_proc_data_size

the documentation says:
  "Choose values that are significantly less than the address space limit"

What do they mean by "significantly less"?? Half of it? 3/4 of it? That's
a very relative sort of statement.

                                Defaults Recommended
                                                        (for internet server)
max_per_proc_stack_size = 33,554,432 bytes
per_proc_stack_size = 8,388,608 bytes
max_per_proc_data_size = 1GB 10GB
per_proc_data_size = 134,217,728 bytes
[max_]per_proc_address_space = 4GB 10GB

How can max_per_proc_data_size be recommended at 10GB, yet still
"significantly less than" max_per_proc_address_space" which is also
recommended to be set to 10GB??????????????
-------------------------------------------------------------------
I got 2 responses:
 
>From Joerg Bruehe:
IMHO, "significantly less" depends on the intended usage
of the system:
The more processes with high memory usage you want to support
simultaneously, the larger the distance between the individual
requirement ("...per_proc_..._size") and your available RAM
should be.
IOW: A single large process might use all available RAM
(or even more address space causing some paging),
but several similar concurrent ones would not make much
progress, let alone leave capacity for other parallel use.

>From alan@nabeth (who will be missed on this list!):
        I don't know the full context of the suggestion, but my
        guess that it has to do with ways to avoid paging or how
        to save on memory used for page tables.

        From the paging perspective, if you allow users to take
        a significant part of the total system virtual address
        space, you increase the chance that the system will page.
        If users don't need access to that much memory, then
        limiting the -per-proc parameters will limit virtual
        memory usage and paging.

        Limiting those parameters may also reduce the number of
        page table entries that the kernel needs for each process,
        which may also limit kernel memory usage some.

        It could also be that the recommendation is wrong. Often
        the people that should review documentation don't, or don't
        do a good job and less than ideal recommendations slip in.
        The writing group has an e-mail address that is published
        (or used to be) on the Reader's Comments page of each
        printed document. You might try forwarding the question
        directly to them. They can get a clarification may be
        able to include that in some future document.

I ended up making a best guess, setting per_proc_data_size to 1GB,
max_per_proc_data_size to 4GB, max_per_proc_address_space to 10GB.

Thanks much to those who responded!

JR



This archive was generated by hypermail 2.1.7 : Sat Apr 12 2008 - 10:48:55 EDT