I asked a very similar question a few weeks ago and got a very precise answer. You should search for that.
Kasper > Lars Aronsson wrote: >> I'm using SQLite 3.4.2, which is the standard package in >> Ubuntu Linux 7.10. I'm running this on an otherwise idle >> Intel Core 2 Duo CPU with 4 GB of RAM. The operation takes >> several hours and still running. Performance graphs indicate >> lots of iowait, with many thousand blocks being written to >> disk each second. But very little CPU power is being used. >> Is that reasonable? > > It sounds to me like your operating system is doing a really bad job of > caching. What is the output of "cat /proc/meminfo", "cat > /proc/sys/vm/swappiness", and "cat /proc/sys/vm/dirty_ratio"? > > How much free memory do you have when this is happening? What is your > vm.swappiness If nothing else is running then the operating system > should be able to cache the files in the buffer >> >> Do I need to use PRAGMA cache_size? > > I would try setting the cache size to ~3GB (PRAGMA cache_size=X, where > X=3000000000/the page size). The default page size is only 2000, which > is thousands of times smaller than what you have available. Or, try > setting it to whatever virtual memory you have (4GB+swap size - 1GB) and > let the operating system handle all the disk I/O via swapping. Just make > sure that other processes aren't actively using memory. > > If none that doesn't help, then try decreasing the cache size and > increasing your /proc/sys/vm/dirty_ratio and > /proc/sys/vm/background_dirty_ratio to 95 each. > > - Brian > > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users