복붙노트

[REDIS] 레디 스 - 모니터링 메모리 사용

REDIS

레디 스 - 모니터링 메모리 사용

나는 현재 데이터베이스 (지역에) 레디 스에 키의 삽입을 테스트입니다. 나는 5 개 이상 수백만 키가 내가 너무 RAM 및 스왑 채우기 한 순간 I 도달 능력에서 단지 4 기가 바이트 RAM을 가지고 (내 PC가 다운) ...

내 문제 : 나는 레디 스 데이터베이스의 일부 키를 삽입 더 이상 레디 스 데이터베이스가 시스템에 메모리 사용량을 모니터링하고, 이런 식으로 경고에서 만들 수 있습니까?

감사.

해결법

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

    1.메모리 사용에 관한, 나는 redis.io 자주 묻는 질문과 LRU 캐시로 레디 스를 사용하는 방법에 대한이 문서를보고 조언을 것입니다.

    메모리 사용에 관한, 나는 redis.io 자주 묻는 질문과 LRU 캐시로 레디 스를 사용하는 방법에 대한이 문서를보고 조언을 것입니다.

    당신은 메모리 한계가 오류와 함께 실패합니다 모든 쓰기 요청을 도달하면이 경우 maxmemory 구성 설정을 통해 메모리 사용량, 모자 중 하나를 수 있습니다, 또는 당신이해서 AllKeys-LRU에 maxmemory 정책을 설정할 수 있습니다, 예를 들어, 덮어 쓰기 시작합니다 대부분의 사용 사례를 들어 현재 필요한 물건 등을 사용하여 서버에 가장 최근에 사용 된 데이터는 적절한 설정을 통해 이러한 문제를 처리 할 수있는 충분한 유연성을 가지고있다.

    내 조언은 레디 스 서버의 구성보다는 모니터링 등 운영 체제 레벨을 통해 추가적인 복잡성을 도입을 통해이 문제를 단순하게 유지하고 관리하는 것입니다.

  2. ==============================

    2.메모리는 레디 스 성능을위한 중요한 자원이다. 사용 된 메모리는 할당 레디 스를 사용하여 할당 된 총 바이트 수 (하나의 표준 libc는 jemalloc 또는 tcmalloc 같은 대안 할당)을 정의한다.

    메모리는 레디 스 성능을위한 중요한 자원이다. 사용 된 메모리는 할당 레디 스를 사용하여 할당 된 총 바이트 수 (하나의 표준 libc는 jemalloc 또는 tcmalloc 같은 대안 할당)을 정의한다.

    당신은 "정보 메모리"를 실행하여 레디 스 인스턴스에 대한 모든 메모리 사용률 메트릭 데이터를 수집 할 수 있습니다.

     
    127.0.0.1:6379> info memory
    Memory
    used_memory:1007280
    used_memory_human:983.67K
    used_memory_rss:2002944
    used_memory_rss_human:1.91M
    used_memory_peak:1008128
    used_memory_peak_human:984.50K
    

    레디 스가 더 최대 메모리 한계로 구성되어있을 때 때때로, 메모리 사용량은 결국 시스템 메모리에 도달하며, 서버는 "메모리 부족"오류를 던지기 시작합니다. 다른 시간에, 레디 스는 최대 메모리 제한하지만 noeviction 정책으로 구성되어있다. 이 메모리가 해제 될 때까지 따라서 어떤 쓰기를 방지, 서버가 어떤 키를 퇴거하지 못하도록 할 것입니다. 이러한 문제에 대한 해결책은 최대 메모리와 일부 퇴거 정책 레디 스를 구성 할 것이다. 이 경우, 서버가 시작 메모리 사용량이 최대에 도달으로 퇴거 정책을 사용하여 키를 퇴거.

    메모리 RSS (상주 세트 크기) 운영 체제가 레디 스에 할당 한 바이트 수입니다. 만약의 비율 'memory_rss'에서 'memory_used'는 큰 ~ 1.5, 그것은 의미 메모리 조각화. 조각난 메모리는 서버를 다시 시작하여 복구 할 수 있습니다.

  3. ==============================

    3.vmstat를라는 좋은 유닉스 유틸리티가있다. 당신은 메모리 사용량을 얻을 수 있으며, 시스템이 정지되기 전에 준비 할 수 있도록 그것은, 최고하지만 명령 행 같다. 또한 특정 프로세스에 대한이 정보를 얻기 위해 PID V PS를 사용할 수 있습니다. 레디 스의 PID는이 방법으로 검색 할 수있다 : 이것들을 pidof는 서버를 레디 스

    vmstat를라는 좋은 유닉스 유틸리티가있다. 당신은 메모리 사용량을 얻을 수 있으며, 시스템이 정지되기 전에 준비 할 수 있도록 그것은, 최고하지만 명령 행 같다. 또한 특정 프로세스에 대한이 정보를 얻기 위해 PID V PS를 사용할 수 있습니다. 레디 스의 PID는이 방법으로 검색 할 수있다 : 이것들을 pidof는 서버를 레디 스

  4. from https://stackoverflow.com/questions/6450932/redis-monitoring-memory-usage by cc-by-sa and MIT license