ElastiCache 인스턴스의 스왑 활동 증가를 해결하려면 어떻게 해야 하나요?

2분 분량
0

Amazon ElastiCache 인스턴스에서 스왑 활동이 증가하는 문제를 해결하고 싶습니다.

간략한 설명

ElastiCache는 Linux에서 실행됩니다. 버전 및 활동 패턴과 같은 운영 체제(OS) 요소가 스왑 동작을 제어합니다. 스왑 사용량의 변동은 예상된 현상입니다. 시스템에서 디스크와 RAM 간에 페이지를 이동할 때 사용 가능한 RAM이 충분하지 않으면 교체 문제가 발생합니다.

Linux OS에서 스왑할 메모리 페이지를 재배치하는 이유는 다음과 같습니다.

  • ElastiCache 노드에 메모리가 부족합니다.
  • Linux는 자주 액세스하지 않는 메모리를 디스크로 스왑합니다.

해결 방법

ElastiCache 노드에 메모리가 부족합니다

캐시 노드가 사용 가능한 인스턴스 메모리보다 많은 메모리를 사용하는 경우 Linux는 메모리의 데이터를 디스크로 교체하여 공간을 확보합니다. 노드에 압력이 가해지고 있는지 확인하려면 FreeableMemorySwapUsage Amazon CloudWatch 지표를 검토하세요.

FreeableMemory 메트릭의 값이 0이면 노드에 메모리가 부족하다는 것을 나타냅니다. SwapUsage 지표의 경우 FreeableMemory 값보다 큰 값은 노드에 메모리 부족 현상이 있음을 나타냅니다.

Redis와 Memcached는 메모리 캐시에 있기 때문에 스왑 작업으로 인해 애플리케이션 속도가 느려집니다. 메모리 부족 때문에 노드가 스와핑되는 경우 더 큰 캐시 노드 유형으로 확장하세요. Redis의 예약 메모리 파라미터 또는 Memcached에 대한 연결 오버헤드 파라미터를 설정할 수도 있습니다.

Linux는 자주 액세스하지 않는 메모리를 디스크로 바꿉니다.

Linux는 ElastiCache 노드에 메모리 부족 현상이 없을 때 스왑을 사용할 수 있습니다. 메모리 효율성을 높이기 위해 Linux는 자주 사용하지 않는 메모리 페이지를 디스크로 교체합니다. 이는 정상적인 커널 동작이며 스왑에 대한 적극적인 읽기 및 쓰기를 의미하지는 않습니다. SwapUsage 지표를 검토하여 사용된 스왑량이 300MB를 초과하지 않는지 확인하는 것이 가장 좋습니다.

관련 정보

호스트 수준 지표

어떤 지표를 모니터링해야 하나요?(Amazon ElastiCache for Redis)

어떤 지표를 모니터링해야 하나요?(Amazon ElastiCache for Memcached)

AWS 공식
AWS 공식업데이트됨 8달 전