On 02/21/2011 09:38 AM, Simon Slavin wrote: > > On 21 Feb 2011, at 1:47am, Roger Binns wrote: > >> On 02/20/2011 02:48 PM, Todd Shutts wrote: >>> The application >>> never used more than 10MB and it is currently using 57+MB and continues >>> to climb. >> >> The single most likely explanation is this is WAL in action, the memory is >> from a memory mapped file and a WAL checkpoint will release it. >> >> http://www.sqlite.org/wal.html > > Todd's question, or something like it, has been asked at least seven times on > this list in the seven months since WAL was released. Might I suggest that > an explanation of WAL's use of lots of memory be placed higher up on that > page and headed something like "Memory usage" ? > > Also, something like "May use many megabytes of memory between checkpoints." > should be listed in the 'disadvantages' list. The explanation of > checkpointing is fine, but users don't know they need to read it until > they've asked here.
The size of the memory mapped file is about 8 bytes per page in the WAL log, allocated in 32 KB chunks. So if the poster is using a page size of 1024 bytes, a 47MB memory mapped file corresponds to roughly a 6GB WAL log. Or if he is using the win32 default page size of 4K, a WAL file four times that large. WAL file growth has (apparently) been a problem for people with really busy systems. But so far it has been the actual size of the file on disk that bothers them, not the memory mapped bit. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users