Quero resolver o aumento na atividade de swap em minhas instâncias do Amazon ElastiCache.
Breve descrição
O ElastiCache é executado em Linux. Fatores do sistema operacional (SO), como a versão e os padrões de atividade, controlam o comportamento da troca. A flutuação no uso de swap é um comportamento esperado. Se não houver RAM disponível suficiente quando o sistema mover as páginas entre o disco e a RAM, ocorrerão problemas de troca.
Os seguintes motivos fazem com que o sistema operacional Linux realoque as páginas de memória para troca:
- Um nó do ElastiCache está sob pressão de memória.
- O Linux troca memória acessada com pouca frequência por disco.
Resolução
Um nó do ElastiCache está sob pressão de memória
Se seu nó de cache usar mais memória do que a memória da instância disponível, o Linux trocará os dados da memória para o disco para liberar espaço. Para determinar se um nó está sob pressão, revise as métricas FreeableMemory e SwapUsage do Amazon CloudWatch.
Um valor zero na métrica FreeableMemory indica que um nó está sob pressão de memória. Para a métrica SwapUsage, um valor maior que o valor FreeableMemory indica que um nó está sob pressão de memória.
Como o Redis e o Memcached estão em caches de memória, a atividade de swap desacelera seu aplicativo. Se um nó estiver sendo trocado devido à pressão de memória, expanda para um tipo de nó de cache maior. Você também pode definir um parâmetro de memória reservada para o Redis ou um parâmetro de sobrecarga de conexão para o Memcached.
O Linux troca memória acessada com pouca frequência por disco
O Linux pode usar swaps quando um nó do ElastiCache não está sob pressão de memória. Para aumentar a eficiência da memória, o Linux troca páginas de memória usadas com pouca frequência em disco. Esse é um comportamento normal do kernel e não implica leitura e gravação ativas para troca. É uma prática recomendada revisar a métrica SwapUsage para confirmar que a quantidade de swap usada não excede 300 MB.
Informações relacionadas
Métricas em nível de host
Quais métricas devo monitorar? (Amazon ElastiCache para Redis)
Quais métricas devo monitorar? (Amazon ElastiCache para Memcached)