Hi all, Here is what we have
1. We are using Sqlite provider from <http://system.data.sqlite.org/downloads/1.0.94.0/sqlite-netFx35-binary-Pock etPC-ARM-2008-1.0.94.0.zip> sqlite-netFx35-binary-PocketPC-ARM-2008-1.0.94.0.zip on Windows Mobile 6.5 in several our projects written using compact framework 3.5 2. Operation system we are targeting is Windows Mobile - famous for its inherent restriction of virtual memory usage. Every process has the frame of nearly 20 megabytes of RAM (declared value is 32 megabytes minus system dll and shared libraries). 3. We are developing software for large vessels and cruise liners. Application uses a fairly moderate database when talking about this environment&size - Sqlite file takes up around 3-6 megabytes depending on liner size and people traveling in. >From the moment user launches the application the last has to run "almost" forever until cruise ends (approximately 2 weeks)without restarting and always has to be ready to run as application deals with emergency cases in particular. 5. Application syncs data with remote web service to have up-to-date data all the time(there is some accepted delay). Throughout the whole cruise Database gets refreshed completely on the device several times as people moving onboard/ashore every day. 6. Application itself was thoroughly tested for memory-leaks. And now the main issue we are struggling with: Total Virtual memory allocations size made by Sqlite core seems to grow in time in application process even though Sqlite connection get closed on a regular basis. For example if we do search touching several tables in sqlite database it seems like sqlite core uses memory-mapped IO to do its job done before returning results of a query. There are of course other quires that touch almost all tables in the database. It results in growing virtual memory footprint and fragmentation. However it looks like Sqlite never releases that allocated virtual memory space in application process even after we close the sqlite connection and delete sqlite DB file from storage. So you imagine if for several days database changes and sqlite engine uses more and more memory-mapped pages we will end-up with "Out-of-memory" situations. Is there any logic behind when sqlite engine releases VM memory? Is there any control or configuration we can apply to sqlite core to instruct regard memory policies? Thank you in advance for your time. Thanks, Pavlo. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users