Coda File System

Re: RVM metadata & VM

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Tue, 11 May 2004 17:01:12 -0400
On Tue, May 11, 2004 at 04:30:40PM -0400, shivers_at_cc.gatech.edu wrote:
>    You can probably only get away with a maximum of 2GB of RVM data for a
>    given server process.
> 
> So you are saying that I should not bother allocating an RVM data partition
> larger than 2Gb, no matter *how* big my volume is, right? 

Correct.

> Let us suppose I allocate a 2Gb RVM data partition. Does this have an impact
> on my allocation of swap partitions? I.e., do I need to ensure I have swap
> space to cover all my old needs *plus* *another* 2Gb for each 2Gb RVM data
> partition? I.e., is this a correct interpretation of your remarks:

Most of the documents probably only mention having RVM data stored on a
partition. In that case we cannot mmap it directly, so we mmap a large
anonymous chunk of VM (approximately 2GB in your case) and read the
whole RVM data partition into this memory. So in this case you would
definitely need to have an additional 2GB of swap space available.

The other not as widely documented option is to use a file as the
backing store for RVM and enable the mapprivate=1 option in the
server.conf configuration file. Because we are able to mmap a file the
allocation and copy steps are not needed which significantly speeds up
server startup. Also when there is memory pressure the kernel simply
discards any unmodified pages and reloads them from the file if they are
needed again. Modified/dirty pages will end up in swap. So over time the
server will end up with the whole 2GB in swapspace, but it would have
to modify every single RVM data page before that happens and a server
restart completely fixes that.

Jan
Received on 2004-05-11 17:06:04