Why Is Used Memory Greater Than Available Memory?
For single-node and master/standby DCS instances, the used instance memory is measured by the Redis-server process. For cluster DCS instances, the used cluster memory is the sum of used memory of all shards in the cluster.
Due to the internal implementation of the open-source redis-server, the used instance memory is normally slightly higher than the available instance memory.
Redis allocates memory using zmalloc. It does not check whether used_memory exceeds max_memory every time the memory is allocated. Instead, it checks whether the current used_memory exceeds max_memory at the beginning of a periodic task or command processing. If used_memory exceeds max_memory, eviction is triggered. Therefore, the restrictions of the max_memory policy are not implemented in real time or rigidly. A case in which the used_memory is greater than the max_memory may occur occasionally.
Monitoring and Alarm FAQs
- Why Is CPU Usage of a DCS Redis Instance 100%?
- How Do I View Current Concurrent Connections and Maximum Connections of a DCS Redis Instance?
- What Should I Do If the Monitoring Data of a DCS Redis Instance Is Abnormal?
- Why Is Used Memory Greater Than Available Memory?
- Why Does Bandwidth Usage Exceed 100%?
- Why Is the Rejected Connections Metric Displayed?
- Why Is Flow Control Triggered? How Do I Handle It?
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.
more