복붙노트

[REDIS] 어떻게 레디 스 메모리 누수를 결정?

REDIS

어떻게 레디 스 메모리 누수를 결정?

어제, 점차 (200메가바이트 / 시간)이 더 많은 메모리를 사용하기 때문에 우리의 레디 스 서버는, 것과 동일한에 대한 키의 양 (330K)과 데이터 (1백32메가바이트 레디 스-RDB-도구) 체류하는 동안.

레디 스-CLI 정보 프로그램의 출력 사용되는 메모리를 6.89G!

redis_version:2.4.10
redis_git_sha1:00000000
redis_git_dirty:0
arch_bits:64
multiplexing_api:epoll
gcc_version:4.4.6
process_id:3437
uptime_in_seconds:296453
uptime_in_days:3
lru_clock:1905188
used_cpu_sys:8605.03
used_cpu_user:1480.46
used_cpu_sys_children:1035.93
used_cpu_user_children:3504.93
connected_clients:404
connected_slaves:0
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
used_memory:7400076728
used_memory_human:6.89G
used_memory_rss:7186984960
used_memory_peak:7427443856
used_memory_peak_human:6.92G
mem_fragmentation_ratio:0.97
mem_allocator:jemalloc-2.2.5
loading:0
aof_enabled:0
changes_since_last_save:1672
bgsave_in_progress:0
last_save_time:1403172198
bgrewriteaof_in_progress:0
total_connections_received:3616
total_commands_processed:127741023
expired_keys:0
evicted_keys:0
keyspace_hits:18817574
keyspace_misses:8285349
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:1619791
vm_enabled:0
role:slave
master_host:***BLOCKED***
master_port:6379
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
db0:keys=372995,expires=372995
db6:keys=68399,expires=68399

우리가 레디 스 2.8로 업그레이드를 준비하는 ServiceStack v3.9.71에 BookSleeve 1.1.0.4에서 우리 (.NET) 클라이언트 코드를 업데이트 할 때 문제가 시작했다. 그러나 다른 많은 재료가 업데이트되었습니다 그리고 우리의 세션 상태 저장소는 같은 증상을 표시하지 않습니다 (도 있지만, 항구 클라이언트와 레디 스).

모든 레디 스 메모리는 어디 가고? 어떻게 그것의 사용 문제를 해결할 수 있습니다?

편집 : 난 그냥 350M에 반환이 인스턴스와 메모리를 다시 시작하고 지금 다시 등반이다. 상위 10 위 오브젝트는 여전히 키의 양 (초기 330K) 270K까지 저하 NR 1. 100K에서 2,500의 범위와 동일한 크기이다.

해결법

  1. ==============================

    1.여기 레디 스에서 "숨겨진"메모리 소비의 일부 소스는 다음과 같습니다

    여기 레디 스에서 "숨겨진"메모리 소비의 일부 소스는 다음과 같습니다

    당신은 당신이 25메가바이트만큼 큰 개체가 언급했다. 그들 각각의 시점에서 이러한 개체에 액세스 할 필요가있는 경우 당신은, 404 개 클라이언트 연결을 가지고, 그것은 메모리 10 GB의 소모됩니다.

  2. from https://stackoverflow.com/questions/24304212/how-to-determine-redis-memory-leak by cc-by-sa and MIT license