Re: BlueStore in-memory Onode footprint

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sage,


here is the PR that contains the test case for Onode size measurement:

https://github.com/ceph/ceph/pull/12532



On 16.12.2016 18:20, Sage Weil wrote:
On Fri, 16 Dec 2016, 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
Yikes!

BTW you can get a full breakdown by type with 'mempool debug = true' in
ceph.conf (-o 'mempool debug = true' on vstart.sh command line) without
having to recompile.  Do you mind repeating the test and including the
full breakdown?
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?
Yep!

sage

--
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



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux