一. 記憶體概覽:
說明:
系統能夠使用的記憶體大小(即虛拟記憶體)一定小于或等于實體記憶體與Swap容量的總和;
64位UNIX要求至少20 GB的swap file;
當同一伺服器包含ORACLE資料庫和SAP執行個體的系統(即Central System)時,使用的記憶體數量比例為30%和70%。即資料庫将至少使用30%的實體記憶體,SAP至少使用70%的實體記憶體,當兩者大于實體記憶體時,系統将請求磁盤上的swap開銷;
所有其他應用伺服器(DI)的記憶體設定應該大于等于100%的實體記憶體,當開銷大于實體記憶體時,系統将請求磁盤上的swap開銷;
其它記憶體區域可以通過映射來使用擴充記憶體區域。
二. 擴充記憶體:
說明:
SAP擴充記憶體是SAP記憶體管理系統的核心;
em/initial_size_MB和em/max_size_MB決定擴充記憶體的初始大小和最大值;
em/blocksize_KB決定擴充記憶體的機關,開辟的擴充記憶體最大是8192個該機關。64位作業系統建議一個機關為4096(即4MB),表示最大能使用的擴充内為32GB記憶體,超過配額将使用swap開銷;
em/address_space_MB為每個使用者程序的使用者上下文所能使用的最大擴充記憶體大小。該參數适用于Windows平台,UNIX平台不必設定,即屏蔽該參數後使用預設的預設值為4GB;
em/global_area_MB除AIX和Windows外應該為255;
ztta/roll_extension表示每使用者使用的擴充記憶體,建議最大配額為2GB。
三. 記憶體配置設定的順序:
說明:
Roll memory初始配置設定不能配置設定過大,建議配置設定僅1個位元組。如果配額不夠,由ztta/roo_area決定Roll area的大小;
Extended memeory的大小配置設定原則請參考上文叙述;
Heap memory的配置設定為2GB,超過配額将請求swap開銷。
四. 結論:
使用者使用SAP記憶體時,首先由程序開辟Roll area,通過共享記憶體的Roll Buffer來Roll in和Roll out,當Roll Buffer超出配額時,将會請求作業系統的Roll file來開銷;
當使用者請求Extended memory(擴充記憶體)時,能夠利用磁盤上的swap來開銷;
當擴充記憶體達到極限後,将利用開辟的Private memory來開銷
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISM9AnYldnJwAzN9c3PnBnauQ0MlM2RjFXND1UNBpXT4VERNp3aUxUeBR0TyEleNhXTU10MFR0T3VkaNdXSUxUMrpmTx0keMRTQU1UeBpWT2VFVPJTV61kdjJjYzpkMMRXOykVdNNjW2hXbZVnTtx0dJRUT5N2ViBXO5xkNNh0YwIFSh9CXt92YuM3YltWas5iclN3Ztl2Lc9CX6MHc0RHaiojIsJye.jpg)