doc/dev: improve wording and grammar of mempool page

Signed-off-by: Laura Flores <lflores@redhat.com>
This commit is contained in:
Laura Flores 2022-06-14 12:35:04 -05:00
parent 52115d780e
commit 6d475d3fa8

View File

@ -1,48 +1,41 @@
What is a mempool?
------------------
A memory pool is a method for accounting the consumption of memory of
Memory pools (mempools) show the details of memory consumption of C++ classes and containers, which can then be used to assess memory leaks, and other insights around memory usage with low overhead.
Each memory pool tracks the number of bytes and items it contains.
Memory pools are statically declared and serves the purpose of identifying
memory related checks in BlueStore.
A memory pool (mempool) is a method for tracking memory consumption. Memory pools represent the memory consumption
of C++ classes and containers, and they are used to assess memory leaks and other insights around memory usage with
low overhead. Each memory pool tracks the number of bytes and items it contains. Mempools are statically declared,
and they serve the purpose of identifying memory-related checks in BlueStore.
Some common mempools that we can track
--------------------------------------
- ``bloom_filter``: Ceph uses bloom filters to account for tracking objects already
in the cache pool, in order to determine which objects in the pool are being
accessed.
- ``bluestore_alloc``: It accounts for actual allocations done by an allocator.
- ``bluestore_inline_bl``: measures encoded length of an inline buffer.
- ``bluestore_fsck``: file system consistency check for BlueStore metadata, helps in
tracking and debugging during OSD repairs.
- ``bluestore_txc``: accounts for committed transactions counter.
- ``bluestore_writing_deferred``: measures those small writes which are deferred
i.e. first written into RocksDB WAL and later flushed to disk.
- ``bluestore_writing``: TBD
- ``bluefs``: file-system-like interface that provides just enough functionality to
allow RocksDB to store its “files” and share the same raw device(s) with
BlueStore.
- ``buffer_anon``: stores arbitrary buffer data.
- ``buffer_meta``: all the metadata associated with buffer anon buffers.
- ``bluestore_cache_data``: mempool for writing and writing deferred.
- ``bluestore_cache_onode``: meta information of object node stored directed in
bluestore cache.
- ``bluestore_cache_meta``: key under PREFIX_OBJ where we are stored.
- ``bluestore_cache_other``: right now account's for
- ``bloom_filter``: tracks objects already in the cache pool in order to determine which objects in the pool are
being accessed
- ``bluestore_alloc``: accounts for actual allocations done by an allocator
- ``bluestore_inline_bl``: measures encoded length of an inline buffer
- ``bluestore_fsck``: file system consistency check for BlueStore metadata; helps in tracking and debugging during OSD repairs
- ``bluestore_txc``: accounts for committed transactions counter
- ``bluestore_writing_deferred``: measures small writes which are deferred, i.e. first written into RocksDB WAL and later
flushed to the disk
- ``bluestore_writing``: accounts for in-flight write buffers
- ``bluefs``: file-system-like interface; provides just enough functionality to allow RocksDB to store its “files” and share
the same raw device(s) with BlueStore
- ``buffer_anon``: stores arbitrary buffer data
- ``buffer_meta``: all the metadata associated with buffer anon buffers
- ``bluestore_cache_data``: mempool for writing and writing deferred
- ``bluestore_cache_onode``: object node (onode) metadata in the BlueStore cache
- ``bluestore_cache_meta``: key under PREFIX_OBJ where we are stored
- ``bluestore_cache_other``: right now accounts for:
- ``map_t``: we use it to track raw extents on disk for SharedBlob. We also use
it for the in-memory Blob with the blob namespace.
- ``map_t``: used to track raw extents on disk for SharedBlob and for the in-memory Blob with the blob namespace
- ``coll_map``: collections_map
- ``csum_data``: checksum data
- ``bluestore_cache_buffer``: accounts for buffer cache shards.
- ``bluestore_extent``: a logical as well as physical extents, pointing to (some
portion of) a blob.
- ``bluestore_blob``: in-memory blob metadata and associated cached buffers.
- ``bluestore_shared_blob``: in memory shared blob state, stores reference of set of
collections it is part of (includes cached buffers).
- ``bluefs_file_reader``: accounts for bluefs file reader buffer.
- ``bluefs_file_writer``: accounts for bluefs file writer buffer.
- ``bluestore_cache_buffer``: accounts for buffer cache shards
- ``bluestore_extent``: a logical (as well as physical) extent, pointing to some portion of a blob
- ``bluestore_blob``: in-memory blob metadata associated cached buffers
- ``bluestore_shared_blob``: in-memory shared blob state; stores a reference to the set of collections it belongs to
(includes cached buffers)
- ``bluefs_file_reader``: accounts for bluefs file reader buffer
- ``bluefs_file_writer``: accounts for bluefs file writer buffer
Check mempools usage
~~~~~~~~~~~~~~~~~~~~
@ -53,4 +46,4 @@ Command to see BlueStore memory allocation in these mempools::
.. note:: see more:
https://github.com/ceph/ceph/blob/master/src/include/mempool.h
https://github.com/ceph/ceph/blob/main/src/include/mempool.h