This content has been marked as final. Show 4 replies
What version of Berkeley DB are you using?
I'm a little confused about what you are quoting. Most of your quote seems to be from DB_ENV->set_cachesize(), but set_cachesize does not have a parameter named cacheSize. The parameters for set_cachesize are gbytes, bytes and ncache.
You use set_cachesize to specify the logical cache that you can optionally split into more than one physical region. The maximum size of the logical cache is 4GB and there is only one logical cache. You specify the total size of the logical cache with the gbytes and bytes parameters. If you set ncache to a value greater than 1, you split this logical cache into separate physical regions. So, for example, if you specify (gbytes=2, bytes=0, ncache=1) you will have a logical cache of 2GB that internally is split into 2 separate physical regions of 1GB each.
You can read more about the memory pool cache in the Reference Guide sections "Selecting a cache size" and "Configuring the memory pool".
If you have other Berkeley DB questions that are not specific to replication, you should direct them to the general Berkeley DB forum where you will have the benefit of a wider set of Berkeley DB experts:
Thank you for providing the Berkeley DB version. Now I can consult the correct version of the documentation and the source code.
Now that I look at the source code, I think my earlier answer misinterpreted the limitation on cache size. It looks like you can create a total logical cache of 16G divided into 4 physical regions of 4G each. The 4G size limitation is on the size of each physical region for a 32-bit system.
So (gbytes=16, bytes=0, ncache=4) should work.