On 12/16/2016 09:04 AM, Igor Fedotov wrote:
Hey All! Recently I realized that I'm unable to fit all my onodes ( 32768 objects/4Mb each/4K alloc unit/no csum) in 15G RAM cache. Hence decided to estimate Onode in-memory size. At first I filled 4Mb object with a single 4M write - mempools indicate ~5K mem usage for total onode metadata. Good enough. Secondly I refill that object with 4K writes. Resulting memusage = 574K!!! Onode itself 704 bytes in 1 object. And 4120 other metadata items occupies all other space. Then I removed SharedBlob from mempools. Resulting mem usage = 355K. The same Onode size. And 3096 other metadata objects. Hence we had 1024 SharedBlob instances thata took ~ 220K. And finally I removed Blob instances from measurements. Resulting mem usage = 99K. And 2072 other objects. Hence Blob instances take another ~250K Yeah, that's the worst case( actually csum enable will give even more mem use) but shouldn't we revisit some Onode internals due to such numbers?
Hrm, that's quite a bit higher than it was last time I looked. Can you dump the hex for one of those during your run?
Thanks, Igor -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
-- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html