buffer_manager_cached_memory

Warning

buffer_manager_cached_memory is read-only and cannot be modified by users.

SingleStore keeps unused Buffer Manager memory mapped instead of returning every freed buffer to the operating system so that later allocations can use it. Buffer_manager_cached_memory tracks this cached memory.

While Total_server_memory is at or below 90% of maximum_memory or at least 10 GB of free memory remains, Buffer_manager_cached_memory is capped at 25% of maximum_memory on each node. When the cache size reaches the capped limit, additional freed memory blocks (or buffers) are returned to the operating system. Buffers that are already cached are still mapped and left in place, therefore crossing the capped limit does not trim the cache. The cache shrinks when a subsequent allocation uses the cached buffer, and it can get unmapped if another allocation may otherwise exceed maximum_memory.

When Total_server_memory is above 90% of maximum_memory and less than 10 GB of free memory remains, newly freed buffers are cached only until the cache size reaches approximately 1% of maximum_memory (vs. the default 25%). Existing cached buffers are not trimmed when this limit applies.

As cached memory stays mapped, Total_server_memory includes Buffer_manager_cached_memory. After a large rowstore DELETE, Alloc_table_memory can fall while Total_server_memory stays high because the freed memory blocks are still held as unrecycled or cached memory.

The cache is not released on a fixed schedule. Run TRIGGER GC FLUSH to explicitly release unused Buffer Manager cached memory.

View the size of cached memory reserved for each node in the output of the SHOW STATUS EXTENDED command. For example:

SHOW STATUS EXTENDED LIKE 'buffer_manager_cached%';
+------------------------------+---------+
| Variable_name                |  Value  |
+------------------------------+---------+
| Buffer_manager_cached_memory | 80.0 MB |
+------------------------------+---------+

Refer to Identifying and Reducing Memory Usage for more information on Buffer_manager_cached_memory and Total_server_memory.

Last modified:

Was this article helpful?

Verification instructions

Note: You must install cosign to verify the authenticity of the SingleStore file.

Use the following steps to verify the authenticity of singlestoredb-server, singlestoredb-toolbox, singlestoredb-studio, and singlestore-client SingleStore files that have been downloaded.

You may perform the following steps on any computer that can run cosign, such as the main deployment host of the cluster.

  1. (Optional) Run the following command to view the associated signature files.

    curl undefined
  2. Download the signature file from the SingleStore release server.

    • Option 1: Click the Download Signature button next to the SingleStore file.

    • Option 2: Copy and paste the following URL into the address bar of your browser and save the signature file.

    • Option 3: Run the following command to download the signature file.

      curl -O undefined
  3. After the signature file has been downloaded, run the following command to verify the authenticity of the SingleStore file.

    echo -n undefined |
    cosign verify-blob --certificate-oidc-issuer https://oidc.eks.us-east-1.amazonaws.com/id/CCDCDBA1379A5596AB5B2E46DCA385BC \
    --certificate-identity https://kubernetes.io/namespaces/freya-production/serviceaccounts/job-worker \
    --bundle undefined \
    --new-bundle-format -
    Verified OK

Try Out This Notebook to See What’s Possible in SingleStore

Get access to other groundbreaking datasets and engage with our community for expert advice.