(Illustration by Gaich Muramatsu)
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. JanReceived on 2002-11-19 15:27:55