IBM P550 為什麼記憶體顯示比實際的要少?

weifenghq發表於2007-01-15
IBM P550 為什麼記憶體顯示比實際的要少?
在最近實施的一個專案中,P550 記憶體實際配置為4G,用命令檢視,結果如下:
#lsattr –El mem0
goodsize 3792 Amount of usable physical memory in Mbytes False
size 3792 Total amount of physical memory in Mbytes False
經過資料查詢,p5 系列記憶體是如下分配的:
邏輯分割槽的保留記憶體計算方法 (轉)
在IBM p系列產品的邏輯分割槽中,有一部分實體記憶體空間是保留作系統管理用途的,不能用作作業系統和應用軟體使用。為了精確計算出作業系統和應用軟體能夠使用的記憶體空間,我們必須分析保留記憶體空間的分配。
保留記憶體空間分為三個部分:
系統管理程式(Hypervisor)
分割槽頁表(Partition page tables)
傳輸控制專案(TCE)表(Translation control entry tables)
1.系統管理程式
在分割槽系統中,分割槽的系統管理程式被裝入到地址為0的第一個PMB(實體記憶體塊)中,這個記憶體塊是不能被任何分割槽所使用的。一個PMB的大小為256MB。
2.分割槽頁表
AIX的虛擬記憶體管理(VMM)透過系統管理軟體對記憶體作分頁管理。每4096位元組真實記憶體分為4個頁表項,每個頁表項佔用16個位元組。也就是說在每個邏輯分割槽中,每分配4096位元組記憶體需要消耗64位元組分割槽頁表空間,亦等於需要額外的1/64記憶體,但是分割槽頁表空間的分配是有限制的,必須是2的n次方(n為整數)。見下表:
例如:2.5G記憶體的邏輯分割槽所需要的頁表空間為39MB,由於邊界問題,需要分配64MB的頁表空間,實際只用了39MB。頁表空間將會放在第一個可用的PMB中,如果改PMB用滿了,將會使用下一個可用的PMB。每個頁表空間只用於該分割槽,但不能用於任何一個作業系統。
3.傳輸控制專案(TCE)表
TCE表是對I/O匯流排的邏輯對映表。系統管理程式透過記憶體中的TCE表對應物理I/O地址,再透過DMA與PCI介面卡連線。在單一分割槽系統中,TCE表是有作業系統控制。在多分割槽環境中,TCE表由系統管理程式控制。每個TCE表大小不超過8MB,最多可以對映4GB的I/O地址。每個TCE表只能對映一個PHB(PCI Host Bridge)。一個p690的I/O抽屜有8個PHB,因此每個I/O抽屜需要64MB的TCE表空間。見下表:
TCE表是由記憶體地址的高階往下分配,當I/O抽屜數大於4個,系統就需要分配多個PMB。這些記憶體空間是不能給作業系統用的。
總結
地址為0的首個PMB總是分配給Hypervisor。
因為有可能動態調整分割槽頁表,頁表空間大小是會變化的。
在p690,1-4個I/O抽屜佔用1個PMB,5-8個I/O抽屜佔用2個PMB。
分佈如下圖:
舉例:
一臺p690,16個cpu,32GB記憶體,5個I/O抽屜,分4個邏輯分割槽。其中Hypervisor佔用一個PMB,5個I/O抽屜TCE佔用2個PMB。實際可分配到每個LPAR的空間是:
32GB-256MB-256MB*2=31.25GB
假如5個分割槽分為:31.25GB=1.5GB+2.75GB+6.25GB+8.75+12GB(最小分割槽單位必須為0.25GB)
即:1536MB+2816MB+6400MB+8960MB+12288MB
根據據表1得出每分割槽系統實際可用記憶體:
分割槽1:1536MB-32MB=1504MB
分割槽2:2816MB-64MB=2752MB
分割槽3:6400MB-128MB=6272MB
分割槽4:8960MB-256MB=8704MB
分割槽5:12288MB-256MB=12032MB
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/633084/viewspace-890560/,如需轉載,請註明出處,否則將追究法律責任。

相關文章