bcache_cache_dirty
OS: Any
This alert presents the percentage of bcache cache space used for dirty data and metadata. If this alert is raised, it means that your SSD cache is too small, and overpopulated with said data.
You can view bcache_cache_dirty as the bcache analogous metric to dirty memory. dirty memory is memory that has been changed but has not yet been written out to disk. For example, you make a change to a file but do not save it. These temporary changes are stored in memory, waiting to be written to disk.
So dirty data on bcache is data that is stored on the cache disk and waits to be written to the backing device (Normally your HDD).
bcacheis a cache in the block layer of the Linux Kernel. It allows fast storage devices, as SSDs
(Solid State Drives), to act as a cache for slower storage devices, such as HDDs (Hard Disk Drives). As a result, hybrid volumes are made with performance improvements. Generally, a cache device is divided up intobuckets, matching the physical disk’s erase blocks.1 2
dirtydata is data in the cache that has not been written to the backing device (normally your HDD). So when the system shuts down, the cache device and the backing device are not safe to be separated.
metadatain general, is data that provides information about other data.3
References and Sources
[1] Wikipedia
[2] Bcache: Caching beyond just RAM
[3] Bcache
Kernel.org
Troubleshooting section
Upgrade your cache's capacity
The alert is raised when there is more than 70% (for warning status) of your cache populated by dirty data and
metadata, it means that your current cache device doesn’t have the capacity to support your workflow. Using a bigger capacity device as cache can solve the problem.