Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Nov 2005 23:51:08 +0530
From:      Joseph Koshy <joseph.koshy@gmail.com>
To:        Michael Conlen <m@obmail.net>
Cc:        freebsd-performance@freebsd.org
Subject:   Re: mmap()
Message-ID:  <84dead720511241021r5e591559l645a8ffe0a1e5a95@mail.gmail.com>
In-Reply-To: <3EF0A80D-0577-46E2-9143-B849CFF48197@obmail.net>
References:  <6C48A943-1AB3-4DF4-B8CC-CD75B9F36E98@obmail.net> <20051123221952.D32130@fledge.watson.org> <3EF0A80D-0577-46E2-9143-B849CFF48197@obmail.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> So here's the problem, I've got a DB server that needs a
> large datasize and a tomcat server which occasionally needs
> to use a lot of memory, which java allocates from a memory
> mapped space. Any ideas how to get the system to allow
> processes to have either/or?

IIRC, the process layout is something like the following

  (Kernel)   ~0..[VM_MAXUSER_ADDRESS]
  Stack bottom (includes char *environment etc.)
  ...
  Current top of stack

  (Space for mmapp'ed objects.)

  >highest possible data segment address<
  malloc arena (heap)
  .bss
  .data
  .text
  >start of text<
  (gap)
  Virtual address 0

Possible solutions could be:

 - link statically (i.e., don't fragment the mmap arena)
 - reduce the data segment size (i.e., reduce the malloc
   arena size) by tweaking the run time limits associated
   with the process.

--
FreeBSD Volunteer,     http://people.freebsd.org/~jkoshy



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?84dead720511241021r5e591559l645a8ffe0a1e5a95>