大頁記憶體(Huge Pages)通過使用比傳統4 KB頁面更大的記憶體頁面(通常是2MB),減少地址轉換過程中TLB(Translation Lookaside Buffer)的缺失次數,從而提高記憶體訪問速度。大頁記憶體如果分配過多,會減少留給作業系統動態分配的普通記憶體空間,可能導致其他非大頁的應用程式或系統服務因記憶體不足而運行不暢或失敗。當執行個體的大頁記憶體設定過大,可能會導致執行個體無法串連等問題。本文介紹調整Linux執行個體大頁記憶體的方法。
操作步驟
通過VNC遠程登入Linux執行個體。
具體操作,請參見使用VNC登入執行個體。
執行以下命令,備份
/etc/sysctl.conf
檔案。cp /etc/sysctl.conf /etc/sysctl.conf_bak
執行以下命令,編輯
/etc/sysctl.conf
檔案。sudo vim /etc/sysctl.conf
找到
vm.nr_hugepages
配置項,並將該配置項調低至合理的數值。您可以基於應用的實際記憶體需求和系統總記憶體,計算所需的大頁數量。
所需大頁數量 = (應用所需記憶體大小 / 大頁的實際大小)。Linux系統中,預設的大頁大小通常是2 MB。例如,如果一個應用需要16 GB的大頁記憶體,且大頁大小為2MB,則所需的大頁數量為16 GB / 2 MB = 8192。即需要修改:
vm.nr_hugepages = 8192
執行以下命令,使配置生效。
sudo sysctl -p
通過檢查
/proc/meminfo
驗證配置是否生效。cat /proc/meminfo
相關文檔
Alibaba Cloud Linux系統可以通過透明大頁THP(Transparent Huge Pages)和代碼大頁(Hugetext)來提升系統的效能。更多資訊,請參見Alibaba Cloud Linux系統中與透明大頁THP相關的效能調優方法和代碼大頁。