(Illustration by Gaich Muramatsu)
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. JanReceived on 2004-05-11 17:06:04