服务器总内存128g,三个redis设置最大内存均为40g,下列为数据库内存使用情况。
used_memory:38915698408
used_memory_human:36.24G
used_memory_rss:39606910976
used_memory_rss_human:36.89G
used_memory_peak:40872855792
used_memory_peak_human:38.07G
used_memory_peak_perc:95.21%
used_memory_overhead:3843316
used_memory_startup:1183608
used_memory_dataset:38911855092
used_memory_dataset_perc:99.99%
allocator_allocated:38915885416
allocator_active:38917550080
allocator_resident:39612149760
total_system_memory:135009652736
total_system_memory_human:125.74G
服务器内存为
total used free shared buffers cached
Mem: 129044 124961 4083 1 94 286
-/+ buffers/cache: 124580 4464
Swap: 7023 2799 4224
top 查看内存使用情况
VIRT RES
63547 redis 20 0 44.9g 40g 900 S 11.0 31.9 145:21.07 redis-server
63540 redis 20 0 44.9g 40g 900 S 11.7 31.9 139:15.38 redis-server
63535 redis 20 0 44.9g 39g 908 S 10.3 31.6 156:52.98 redis-server
问题1:为什么top中virt 部分(申请的内存大小)超过了40g?
问题2:为什么info memory中的use_memory与top中实际使用的内存大小不同
问题3:如何判断内存什么时候被使用完?是used_memeory达到40g,或是其他方法判断
请大佬指点下