Coda File System

Re: rvm setup

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Tue, 19 Nov 2002 15:24:51 -0500
On Tue, Nov 19, 2002 at 01:49:46PM +0100, Marcel Pol wrote:
> It works fine with a size of the datapartition of 22M, 44M, 90M, 130M and
> 200M, but it breaks when I select the 315M. The log size was 4M. 
> The real log partition is 50M, and the data partition is 350M in cfdisk.
> The real partition of /vicepa is 11Gb, and the /usr/coda has that size too.
> 
> This is the error:
> ?  ERROR: rds_zap_heap RVM_EINTERNAL.

It depends on the amount of real and swap memory your machine has. As
you are using partitions instead of files, we cannot use a private mmap,
and allocate a block of memory that is as big as the RVM data partition.

The complete file is then read into this allocated chunk of memory. When
your available amount of real memory is significantly less than 315MB,
the machine will have to swap a lot in order to do this. It reads a
block from disk, then faults in a page, which is then written back to
swap. If the RVM data and swap partitions are on the same disk this
involves a lot of seeks.

If you were to use a file for RVM data and set the map_private flag in
the server.conf file loading RVM is really quick because we only have to
set up a private mmapped area. Data is paged in as needed, and only
dirtied pages end up in the swap space. Ofcourse over time all pages
would get dirtied and you still end up using as much swap as in the
other case, but the hit is spread over the lifetime of the server and
as a result the disk doesn't have to trash as much.

Jan
Received on 2002-11-19 15:27:55