Date: Mon, 27 Oct 1997 20:36:17 -0500 (EST) From: "John S. Dyson" <toor@dyson.iquest.net> To: tlambert@primenet.com (Terry Lambert) Cc: angio@angio.net, perlsta@cs.sunyit.edu, hackers@FreeBSD.ORG Subject: Re: help with fstat? Message-ID: <199710280136.UAA05574@dyson.iquest.net> In-Reply-To: <199710271815.LAA23283@usr04.primenet.com> from Terry Lambert at "Oct 27, 97 06:15:56 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
Terry Lambert said: > > > unless mmap() maps in on demand... but i think i'll be eating up all my > > > address space... > > > > Pages that you mmap are only paged in on demand. The simple act of > > mmapping a file doesn't cause it to be read in to memory. > > > > You're not going to eat up your address space with a few mmapped > > files per process. Remember, you're dealing with a 32 bit address > > space - you could map in gigabytes per process and not have to worry. > > > > Remember also that each process has its own virtual address space. > > They can't "collide" with each other in some way. Each process could > > mmap huge chunks and you'd never have to worry. > > Except if you linearly traverse the mapped file, and it's a big file. > Then it will force almost all other clean pages out of core via LRU. > > So you can thrash the paging algorithm this way. > > But you can also thrash it (albiet less quickly) using reads. > > There used to be a MAP_SEQUENTIAL flag to get it to discard buffers > after they had been accesed, instead of forcing more pages off the > LRU, but BSD doesn't support this. 8-(. > > Try madvise(2). It has a MADV_SEQUENTIAL. -- John dyson@freebsd.org jdyson@nc.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710280136.UAA05574>