Redisused_memory_dataset_perc 显示错误的值

问题描述 投票:0回答:1

运行 redis-cli info memory 时,我从 Redis 服务器获得以下输出:

已用内存:1065728
使用的_内存_人类:1.02M 使用的_内存_rss:10559488
使用的_内存_rss_人类:10.07M
使用内存峰值:3430704
使用的_内存_峰值_人类:3.27M
使用内存峰值perc:31.06%
使用内存开销:867432
使用内存启动:809680
已用内存数据集:198296
已用内存数据集_perc:77.44%
allocator_已分配:1393904
allocator_active:1728512
allocator_resident:4517888
最大内存:10485760
最大内存_人类:10.00M

因此,used_memory_dataset_perc 显示 77.44%,但used_memory_dataset 仅显示 198296(字节)。由于used_memory是1065728(字节),看来used_memory_dataset_perc不应该是77.44%,而应该是19%左右......如果used_memory_dataset_perc是百分比 使用的内存数据集与使用的内存进行比较。

我在这里遗漏了什么吗?

redis
1个回答
0
投票

来自文档

used_memory_dataset_perc
used_memory_dataset
占净内存使用量的百分比(
used_memory
减去
used_memory_startup

在您的情况下,您的

used_memory_startup
为 809680。从
used_memory
中取出约 256kb,您的
used_memory_dataset
约 198kb 约为 77%。

used_memory_startup
是redis本身的开销:

Redis 启动时消耗的初始内存量(以字节为单位)

© www.soinside.com 2019 - 2024. All rights reserved.