From: Andi Kleen <ak@suse.de>
To: Hugh Dickins <hugh@veritas.com>
Cc: Andi Kleen <ak@suse.de>,
linux-kernel@vger.kernel.org, Anton Blanchard <anton@samba.org>,
cr@sap.com, linux-mm@kvack.org
Subject: Re: Getting rid of SHMMAX/SHMALL ?
Date: Thu, 4 Aug 2005 15:23:38 +0200 [thread overview]
Message-ID: <20050804132338.GT8266@wotan.suse.de> (raw)
In-Reply-To: <Pine.LNX.4.61.0508041409540.3500@goblin.wat.veritas.com>
On Thu, Aug 04, 2005 at 02:19:21PM +0100, Hugh Dickins wrote:
> On Thu, 4 Aug 2005, Andi Kleen wrote:
>
> > I noticed that even 64bit architectures have a ridiculously low
> > max limit on shared memory segments by default:
> >
> > #define SHMMAX 0x2000000 /* max shared seg size (bytes) */
> > #define SHMMNI 4096 /* max num of segs system wide */
> > #define SHMALL (SHMMAX/PAGE_SIZE*(SHMMNI/16)) /* max shm system wide (pages) */
> >
> > Even on 32bit architectures it is far too small and doesn't
> > make much sense. Does anybody remember why we even have this limit?
>
> To be like the UNIXes.
Ok, no other more fundamental reason ? :)
I cannot think of any at least.
>
> > IMHO per process shm mappings should just be controlled by the normal
> > process and global mappings with the same heuristics as tmpfs
> > (by default max memory / 2 or more if shmfs is mounted with more)
> > Actually I suspect databases will usually want to use more
> > so it might even make sense to support max memory - 1/8*max_memory
> >
> > I would propose to get rid of of shmmax completely
> > and only keep the old shmall sysctl for compatibility.
>
> Anton proposed raising the limits last autumn, but I was a bit
> discouraging back then, having noticed that even Solaris 9 was more
> restrictive than Linux. They seem to be ancient traditional limits
> which everyone knows must be raised to get real work done.
>
> It's possible that if we raise the limits, installation
> of this or that application will then lower them again?
I think we should just get rid of the per process limit and keep
the global limit, but make it auto tuning based on available memory.
That is still not very nice because that would likely keep it < available
memory/2, but I suspect databases usually want more than that. So
I would even make it bigger than tmpfs for reasonably big machines.
Let's say
if (main memory >= 1GB)
maxmem = main memory - main memory/8
else
maxmem = main memory / 2
possible increase the 4096 segments limit too, it seems quite low,
or also auto tune based on memory.
One possible problem with getting rid of /proc/sys/kernel/shmmni
would be that some programs might read it and fail if it's not available. i
So I would probably keep it read only but always return LONG_MAX.
>
> I don't think my opinion is worth much on this:
> what would the distro tuners like to see there?
suse has shipped larger default limits for a long time.
And all the databases and some other software documents increasing these
values.
-Andi
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2005-08-04 13:23 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-04 11:39 Andi Kleen
2005-08-04 11:58 ` linux-os (Dick Johnson)
2005-08-04 13:19 ` Hugh Dickins
2005-08-04 13:23 ` Andi Kleen [this message]
2005-08-04 14:20 ` Matti Aarnio
2005-08-04 14:48 ` Hugh Dickins
2005-08-07 11:38 ` Alan Cox
2005-08-04 15:19 ` Andi Kleen
2005-08-04 22:49 ` Chen, Kenneth W
2005-08-04 22:54 ` Andi Kleen
2005-08-04 22:58 ` Chen, Kenneth W
2005-08-04 13:34 ` Jakob Oestergaard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050804132338.GT8266@wotan.suse.de \
--to=ak@suse.de \
--cc=anton@samba.org \
--cc=cr@sap.com \
--cc=hugh@veritas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox