Redis Memory 정보
Redis Memory 정보
· Version : Redis 3.2.100 (Windows)
Redis에서 info명령은 서버의 각종 통계 및 상태를 보여준다. 다양한 매개 변수를 사용하여 특정 정보를 확인할 수 있으며 이번 포스트에서는 메모리 관련 정보를 확인해본다.
Redis에 접속하여 Redis info 명령을 실행하면 메모리 관련 사용 정보를 반환한다.
info memory |
· *_human 값은 동일 항목의 byte 값을 Kbyte로 변환하여 나타낸 값
Info linst |
Comments |
used_memory |
Redis 서버에 현재 할당된(libc, jemalloc, tcmalloc 등) 메모리 크기 (byte) |
used_memory_rss |
운영체제에서 볼 때 Redis가 할당한 byte 수. |
used_memory_peak |
Redis에 할당되었던 최대 메모리 크기 (byte) |
used_memory_peak_perc |
used_memory 중 used_memory_peak 의 백분율 |
used_memory_overthread |
사용자 메모리 크기에 대한 overthread |
used_memory_startup |
최초 할당되었던 Redis 메모리 크기 (byte) |
used_memory_dataset |
사용자 데이터가 저장된 메모리 크기 (byte) |
used_memory_dataset_perc |
Net 메모리 사용량에서 used_memorydataset 의 백분율. (used_memory 에서 used_memory_startup을 뺀값) |
total_system_memroy |
시스템 메모리 총 크기 (byte) |
used_memory_lua |
Lua 엔진에 의해 사용된 메모리 크기 (byte) |
maxmemory |
Maxmemory 파라메터에 설정된 메모리 크기 (byte) |
maxmemory_policy |
Maxmemory_policy 파라메터에 설정된 메모리 크기 (byte) |
mem_fragmentation_ratio |
메모리 단편화 상태비율 |
mem_allocator |
컴파일시에 할당된 메모리 |
active_defrag_running |
조각 모음이 활성 상태인지 나타내는 플래그 |
lazyfree_pending_objects |
할당 해지 대기 중인 오브젝트 수 |
이상적으로 used_memory_rss 값은 used_memory 보다 약간 높아야 한다. rss >>를 사용하면 mem_fragmemtation_ratio 를 검사하여 메모리 조각화(내부 또는 외부)가 있는지 확인할 수 있다. >> rss를 사용하면 Redis 메모리의 일부가 운영체제에 스왑 아웃을 되었다는 것을 의미한다. 이 뜻은 지연이 있다는 것을 의미한다.
Redis는 메모리 페이지에 매핑되는 할당 방식을 제어할 수 없으므로 높은 used_memory_rss는 메모리 사용이 급증하여다는 것을 의미한다. Redis가 메모리를 해제하면 메모리는시스템에 메모리를 반환하거나 하지 않을 수 있다. 따라서 운영체제에서 보고한 used_ memory값과 메모리 소비간에 불일치가 있을 수 있다. used_memory_peak 값은 일반적으로 이 지점을 확인하는데 유용하다.
서버의 메모리에 대한 추가 정보는 memory stats 명령과 memory doctor를 참조하여 확인할 수 있다.
[참고자료]
https://redis.io/commands/INFO
2019-05-20 / Sungwook Kang / http://sungwookkang.com
Redis, Redis Architecture, 레디스 메모리, 레디스 메모리 사용량, 메모리 모니터링, Redis, info memory