使用 AWS re:Post 即表示您同意 AWS re:Post 使用條款

如何解決 ElastiCache 執行個體中交換活動增加的問題?

1 分的閱讀內容
0

我想解決 Amazon ElastiCache 執行個體中交換活動增加的問題。

簡短說明

Elasticache 在 Linux 上執行。作業系統 (OS) 因素,例如版本和活動模式,控制交換行為。交換使用情況的波動是一種預期的行為。如果系統在磁碟與 RAM 之間移動頁面時,沒有足夠的可用 RAM,則會發生交換問題。

下列原因導致 Linux OS 重新放置記憶體頁面以進行交換:

  • ElastiCache 節點面臨記憶體壓力。
  • Linux 將不常存取的記憶體交換至磁碟。

解決方法

ElastiCache 節點面臨記憶體壓力

如果您的快取節點使用的記憶體超過可用的執行個體記憶體,則 Linux 將資料從記憶體交換到磁碟以釋放空間。為確定節點是否面臨壓力,請檢閱 FreeableMemorySwapUsage Amazon CloudWatch 指標。

FreeableMemory 指標中的零值表示節點面臨記憶體壓力。對於 SwapUsage 指標,大於 FreeableMemory 值的值表示節點面臨記憶體壓力。

由於 Redis 和 Memcached 位於記憶體快取中,因此交換活動會減慢您的應用程式。如果節點因記憶體壓力而進行交換,請向上擴展至較大的快取節點類型。您也可以設定 Redis 的預留記憶體參數,或設定 Memcached 的連線負載參數。

Linux 將不常存取的記憶體交換至磁碟

當 ElastiCache 節點未遭受記憶體壓力時,Linux 可能會使用交換。為了提高記憶體效率,Linux 將不常使用的記憶體頁面交換至磁碟。這是正常的內核行為,並不意味著主動讀取和寫入來交換。最佳做法是檢閱 SwapUsage 指標,以確認所使用的交換量不超過 300 MB。

相關資訊

主機層級指標

我應該監控哪些指標? (Amazon ElastiCache for Redis)

我應該監控哪些指標? (Amazon ElastiCache for Memcached)

AWS 官方
AWS 官方已更新 7 個月前