Metadata Server cache size limits
Learn how to limit the size of the Ceph File System (CephFS) Metadata Server (MDS) cache.
- Memory limit
- Use the
mds_cache_memory_limitoption. Use a value between 8 GB and 64 GB formds_cache_memory_limit. Setting more cache can cause issues with recovery. This limit is approximately 66% of the desired maximum memory use of the MDS.Important: Use memory limits instead of inode count limits.Note: The default value formds_cache_memory_limitis 4 GB. Since the default value is outside the recommended range, users are recommended to set the value within the mentioned range. - Inode count
- Use the
mds_cache_sizeoption. By default, limiting the MDS cache by inode count is disabled.
You can also specify a cache reservation by using the mds_cache_reservation
option for MDS operations. The cache reservation is limited as a percentage of the memory or inode
limit and is set to 5% by default. The intent of this parameter is to have the MDS maintain an extra
reserve of memory for its cache for new metadata operations to use. As a result, the MDS should
operate below its memory limit because it recalls old state from clients to drop unused metadata in
its cache.
The mds_cache_reservation option replaces the
mds_health_cache_threshold option in all situations, except when MDS nodes send a
health alert to the Ceph Monitors indicating the cache is too large. By default,
mds_health_cache_threshold is 150% of the maximum cache size.
The cache limit is not a hard limit. Potential bugs in the CephFS client or MDS or misbehaving
applications might cause the MDS to exceed its cache size. The
mds_health_cache_threshold option configures the storage cluster health warning
message so that operators can investigate why the MDS cannot shrink its cache.
For more information, see Configuring Metadata Server daemons.