On 22 Mar 2018, at 11:37, Howard Chu hyc@symas.com wrote:
According to my understanding the memory is dirty when 1)there are open transactions, 2) the data has not been written back to the filesystem
Your understanding is incorrect. Dirty pages remain dirty until they are written to stable storage (e.g., disk). A tmpfs/RAMdisk has no stable storage, all of its pages reside only in RAM. That's the point of a RAMdisk.
Ok, thanks for have it clarified. I was just “hoping” LMDB would have not notice the type of storage was syncing to.
What I don't understand is why there is a difference between filesystem and ramdisk? Is there any reason? The application (listed above) is not writing on the lmdb, but just reading (using reading transaction). Thank you Luca
Using tmpfs is a waste of RAM. Just use LMDB on a regular filesystem and let the system's pagecache manager take care of memory.
Got your point, but does make sense then to use a regular filesystem if the storage is a “slow” non-SDD Hard drive?
Thanks Luca