运行 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是百分比 使用的内存数据集与使用的内存进行比较。
我在这里遗漏了什么吗?
来自文档:
: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 启动时消耗的初始内存量(以字节为单位)