9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: erik quanstrom <quanstro@quanstro.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] plan 9 overcommits memory?
Date: Mon,  3 Sep 2007 10:32:52 -0400	[thread overview]
Message-ID: <da4df294e5cb37ddd2dad791d102c205@quanstro.net> (raw)
In-Reply-To: <07ee3c188fbd29d5ca5bcc7fb664a9d1@plan9.bell-labs.com>

> Most applications probably use much less than 1 MB, but a lot depends
> on who wrote the program.  Our threaded programs typically have a 4K
> or 8K (K, not M) fixed-size stack per thread and that works fine,
> although you have to remember not to declare big arrays/structs as
> local variables.  malloc and free become good friends in threaded
> programs.

> As to guarantees that you won't run our of memory, they're almost
> impossible to give.  Programmer generally don't know how much memory
> their applications will use, so they can't reasonably preallocate.

that's a much stronger condition than "if there isn't backing memory,
brk fails".  perhaps that is difficult.  even if the actual condition
is estimated, wouldn't that be an improvement.

perhaps one could reserve, say 16MB total for stack space.  (or maybe
some percentage of physical memory.)  this could eliminate overcommits
for brk'ed memory.

> You see the same thing with real time.  Nobody knows how much time
> each task will consume beforehand.

> It would be cool to be able to get a handle on being able to shrink
> the memory occupied by an application dynamically.  Malloc (through
> brk()) grows the memory footprint, but free does not shrink it.
> The same is true for the stack.  Once allocated, it doesn't get freed
> until the process exits.

yes it would.  does plan 9 have programs that could make use of this
currently?

- erik



  reply	other threads:[~2007-09-03 14:32 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-03  3:38 geoff
2007-09-03  5:35 ` Scott Schwartz
2007-09-03  6:05   ` Uriel
2007-09-03 13:33   ` erik quanstrom
2007-09-03 17:09     ` john
2007-09-03 17:17       ` Gorka Guardiola
2007-09-03 17:25         ` Francisco J Ballesteros
2007-09-03 17:30         ` john
2007-09-03 19:47           ` Charles Forsyth
2007-09-03 19:46         ` Uriel
2007-09-03 19:54           ` Charles Forsyth
2007-09-03 19:54             ` Uriel
2007-09-03 20:34               ` geoff
2007-09-03 20:16             ` erik quanstrom
2007-09-03 17:32       ` erik quanstrom
2007-09-03 17:39         ` Francisco J Ballesteros
2007-09-03 17:43         ` john
2007-09-03 17:45           ` john
2007-09-03 19:52             ` Charles Forsyth
2007-09-05  8:33         ` sqweek
2007-09-04  8:48       ` Douglas A. Gwyn
2007-09-03 18:13   ` geoff
2007-09-03 20:17     ` erik quanstrom
2007-09-03 20:48       ` geoff
2007-09-03 22:01         ` erik quanstrom
2007-09-03 22:43           ` Charles Forsyth
2007-09-03 23:51             ` erik quanstrom
2007-09-04  0:04               ` Charles Forsyth
2007-09-04 14:44                 ` erik quanstrom
2007-09-04 15:07                   ` Charles Forsyth
2007-09-04 15:18                     ` ron minnich
2007-09-04 15:18                     ` Charles Forsyth
2007-09-05  8:48                       ` Douglas A. Gwyn
2007-09-05 10:53                         ` erik quanstrom
2007-09-06  8:42                           ` Douglas A. Gwyn
2007-09-06 17:15                             ` Joel C. Salomon
2007-09-06 19:38                               ` ron minnich
2007-09-06 20:18                                 ` Charles Forsyth
2007-09-06 23:37                                 ` Steve Simon
2007-09-07  3:09                                 ` Roman Shaposhnik
2007-09-07  4:09                                   ` Bruce Ellis
2007-09-07  4:25                                     ` Lyndon Nerenberg
2007-09-07  4:37                                       ` Bruce Ellis
2007-09-07  4:43                                         ` Lyndon Nerenberg
2007-09-10 15:24                                         ` roger peppe
2007-09-07 10:55                                     ` erik quanstrom
2007-09-04 23:32                     ` erik quanstrom
2007-09-03 21:16       ` Charles Forsyth
2007-09-03 21:19         ` ron minnich
2007-09-03 21:41           ` Eric Van Hensbergen
2007-09-03 21:51           ` erik quanstrom
2007-09-03 13:21 ` erik quanstrom
2007-09-03 14:01   ` Sape Mullender
2007-09-03 14:32     ` erik quanstrom [this message]
2007-09-03 15:28       ` Sape Mullender
2007-09-04  4:32         ` lucio
2007-09-04  7:23 ` Dave Eckhardt
2007-09-04  8:48 ` Douglas A. Gwyn
  -- strict thread matches above, loose matches on Subject: below --
2007-08-31 11:41 erik quanstrom
2007-09-02 21:27 ` Russ Cox
2007-09-03  0:43   ` erik quanstrom
2007-09-04  8:47     ` Douglas A. Gwyn
2007-09-04 13:39       ` David Leimbach
2007-09-04 14:41         ` erik quanstrom
2007-09-04 15:54           ` David Leimbach
2007-09-04 17:37     ` sqweek
2007-09-04 18:10       ` ron minnich
2007-09-04 18:53         ` sqweek
2007-09-03  1:23   ` Scott Schwartz
2007-09-03  1:47     ` ron minnich
2007-09-03  2:11       ` erik quanstrom
2007-09-03  2:11       ` erik quanstrom
2007-09-04  8:48         ` Douglas A. Gwyn
2007-09-03  5:28       ` Scott Schwartz

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=da4df294e5cb37ddd2dad791d102c205@quanstro.net \
    --to=quanstro@quanstro.net \
    --cc=9fans@cse.psu.edu \
    /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;
as well as URLs for NNTP newsgroup(s).