Windows에서 Redis를 실행 중이고 시간이 지남에 따라 redis-server.exe
크기가 줄어 듭니다. Redis를 열면 덤프 파일에서 읽고 해시 된 모든 키 값을 메모리에 약 1.4GB으로로드합니다. 그러나 시간이 지남에 따라 redis-server.exe
이 차지하는 메모리 양이 줄어 듭니다. 나는 그것이 100 MB보다 적게 내려간 것을 보았습니다.Redis - 왜 redis-server는 메모리가 감소합니까?
내가 이런 일이 일어나는 것을 볼 수있는 유일한 이유는 키가 만료되어 있고 메모리가 남아 있다는 것입니다. 그러나 내가 만료되지 않도록 Redis를 설정했습니다. 나는 또한 내가 충분한 기억을 제공했는지 확인했다.
내 일부 설정을
은 다음과 같습니다maxmemory 2gb
maxmemory-policy noeviction
hash-max-zipmap-entries 512
hash-max-zipmap-value 64
activerehashing no
그것은 내가 처음 내가 지금처럼 파이썬을 통해 그것을했다, 레디 스에 키를로드 관심의의 경우
는r.hset(key, field, value)
어떤 도움이 될 것입니다 고맙습니다. 나는 그 열쇠가 영원히 있기를 바란다.
redis 127.0.0.1:6379> INFO
redis_version:2.4.6
redis_git_sha1:26cdd13a
redis_git_dirty:0
arch_bits:64
multiplexing_api:winsock2
gcc_version:4.6.1
process_id:9092
uptime_in_seconds:69
uptime_in_days:0
lru_clock:248011
used_cpu_sys:3.34
used_cpu_user:10.06
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
connected_clients:1
connected_slaves:0
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
used_memory:1129560232
used_memory_human:1.05G
used_memory_rss:1129560232
used_memory_peak:1129560144
used_memory_peak_human:1.05G
mem_fragmentation_ratio:1.00
mem_allocator:libc
loading:0
aof_enabled:0
changes_since_last_save:0
bgsave_in_progress:0
last_save_time:1386600366
bgrewriteaof_in_progress:0
total_connections_received:1
total_commands_processed:0
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
vm_enabled:0
role:master
db0:keys=4007989,expires=0
I 메모리는 Windows 작업 관리자에서 감소 발견 할 때 나는 그것을 실행 한 후이 아니라 많은 차이가있다 :
이
내가 먼저 실행 직후 INFO 명령에서 내 출력uptime_in_seconds:4412 (from 69)
lru_clock:248445 (from 248011)
used_cpu_sys:4.59 (from 3.34)
used_cpu_user:10.25 (from 10.06)
used_memory:1129561240 (from 1129560232)
used_memory_human:1.05G (same!)
used_memory_rss:1129561240 (from 1129560232)
used_memory_peak:1129568960 (from 1129560144)
used_memory_peak_human:1.05G (same!)
mem_fragmentation_ratio:1.00 (same!)
last_save_time:1386600366 (same!)
total_connections_received:4 (from 1)
total_commands_processed:10 (from 0)
expired_keys:0 (same!)
evicted_keys:0 (same!)
keyspace_hits:0 (same!)
keyspace_misses:2 (from 0)
메모리 크기가 낮 으면 조회가 오래 걸립니다. 여기서 무슨 일이 일어나고있는거야?
어떻게 메모리가 감소 함을 확인하려면? Redis의 관점에서 볼 때 메모리 소비량은 얼마입니까 (INFO 명령)? –
Windows 작업 관리자에서 줄어 듭니다. 위의 INFO 출력을 추가했습니다. – johnnythejames
그래서 Redis가 소비하는 메모리는 100MB가 아닌 1.05GB입니다. 나는 작업 관리자가 실제로 프로세스의 전체 메모리를 표시하지 않는다고 생각한다. (아마도 사적인 작업 세트 나 비슷한 것 같다.) –