This content has been marked as final. Show 4 replies
Could you please let us know what version you are using now? From your code, I assume you use C++ API.
A few comments to your code:
DB_PRIVATE |When an environment is opened with DB_PRIVATE, region memory would be allocated from the heap.
//DB_THREAD ; // Initialize transactionsThis is for multi-threaded, not for transaction.
Db* db = new Db( 0, 0 );//no dbenvThis db is not opened within the dbenv, so all the settings for the opened dbenv won't work for the db.
I would suggest you to refer to our C++ examples. In the latest source code, it is under examples/cxx/*.
Also, please use English in your post so that everyone could understand and help you:-)
Oracle Berkeley DB
Whatever version I used in x64, include the oldest or lastest version or the version before the lastest, Whatever open the DB in DBEnv or not , It will always lost memory in system. And like virtual pc in vmware , can see memory used in system but not in any thread. But it will normal in x86.
I will send some pic to your e-mail, please check it.
Your can download my testDB to test it on win7 x64
The Db size is 781mb, if you run my code on it,you will found system memory lost 781mb
And if exec the db.close(), the memory will back and thread memory will always at 1-2mb.
this discussion has been continue on this thread: https://forums.oracle.com/message/11194083#11194083
Thei appears to be an issue with the Windows System Cache. See thread: https://forums.oracle.com/thread/2571599