George Holbert wrote: > When tuning FDS on a Solaris machine, I've heard two different > suggestions about nsslapd-dbcachesize: > 1. Decrease nsslapd-dbcachesize, and instead rely on Solaris' built-in > filesystem cache which performs better. > 2. Tune nsslapd-dbcachesize up to a value that is at least as large as > the size of your backend LDBM database. The filesystem cache doesn't really perform better. (Pages that are in the db cache are used directly from process memory. Any page that is not resident in the db cache must be fetched from the filesystem, incuring a user/kernel transition and a memory copy of the payload.) Someone way back ran some tests and convinced themselves that it did, and then wrote that doc ;) Actually there was some basis in reality until recently we didn't have a 64-bit Solaris version, however the filesystem cache was able to use 64-bit address space. So for VLDB deployments it was true that the filesystem cache delivered better overall use of system memory beyond 2-ishGbytes. But, the filesystem cache does ok (as is the case on all modern OS'es) so if you aren't looking for tip-top performance it's fine to confiure a smallish db cache and rely mostly on the filesystem. One thing to note is that the db cache is mmap'ed, and Solaris does some very strange and evil things with mmap'ed files that are not in tmpfs filesystems (it will decide all of a sudden to write back dirty pages to disk at an amazing rate, to the exclusion of performing all other useful work on the box). The solution to this problem is documented : put the db home dir in tmpfs (or use sysv memory, but that's not officially supported I don't think).