WLM動態記憶體分配 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

WLM動態記憶體分配

在每個佇列中,WLM會建立數個等於佇列並行層級的查詢插槽。配置給查詢槽的記憶體數量等於配置給佇列的記憶體百分比除以槽計數。如果您變更記憶體分配或並行操作,Amazon Redshift 會動態管理轉換至新WLM組態的過渡。因此,作用中查詢可以使用目前配置的記憶體數量,執行到完成為止。同時,Amazon Redshift 會確保記憶體總用量絕不超過 100% 可用的記憶體。

工作負載管理員使用下列程序來管理轉移:

  1. WLM重新計算每個新查詢插槽的記憶體配置。

  2. 如果執行中的查詢沒有主動使用查詢位置,請WLM移除該插槽,讓該記憶體可供新插槽使用。

  3. 如果查詢位置正在使用中,請WLM等待查詢完成。

  4. 當作用中查詢完成時,就會移除空的槽,並釋放相關的記憶體。

  5. 只要有足夠的記憶體可供新增一或多個槽,就會新增新的槽。

  6. 當變更時執行的所有查詢完成時,插槽計數等於新的並行層級,並完成轉換至新WLM組態。

事實上,變更生效時正在執行的查詢會繼續使用原始的記憶體配置。變更生效時已排入佇列的查詢會在有新的槽可用時,路由傳送至新的槽。

如果在轉移過程中變更了WLM動態屬性,則從目前狀態開始WLM立即開始轉換為新的組態。若要檢視轉移的狀態,請查詢 STV_WLM_SERVICE_CLASS_CONFIG 系統資料表。