Closed IdavalapatiRamanjaneyulu closed 5 years ago
And I am thinking the plyvel is caching the results (After closing only maximum RAM is getting released p.close()). Is there any mechanism to not cache any results?
what makes you think that plyvel is caching anything? since plyvel does not contain any caching code.
leveldb itself does use some caches, and plyvel provides api (DB
constructor args) to influence those. for example,. from leveldb.options.h
:
// If non-NULL, use the specified cache for blocks.
// If NULL, leveldb will automatically create and use an 8MB internal cache.
// Default: NULL
Cache* block_cache;
closing due to inactivity
When I use plyvel DB the RAM usage is keep on increasing.
Steps to reproduce:
create.py
# To create dummy dataget.py
# To get the dummy dataWhen I run
python get.py
I have observed the followed things in htop.indices
is using 72776(RES) - 16312(previous RES) = 56464 KB of RAMobj
took 776 MB(RES) - 673 MB(SHR) - 56464 KB(previous RAM usage) = 46.536 MB of RAMindices
is 776 - 730 = 40 MBobj
is 730 - 723 = 7 MBWhy the 50MB is left over in the RAM? And I am thinking the plyvel is caching the results (After closing only maximum RAM is getting released
p.close()
). Is there any mechanism to not cache any results?