IBM P550 為什麼記憶體顯示比實際的要少?
IBM P550 為什麼記憶體顯示比實際的要少?
在最近實施的一個專案中,P550 記憶體實際配置為4G,用命令檢視,結果如下:
#lsattr –El mem0
在最近實施的一個專案中,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表空間。見下表:
在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。
分佈如下圖:
總結
地址為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
一臺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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/633084/viewspace-890560/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- free命令顯示的記憶體與實際不符記憶體
- 為什麼暫存器比記憶體快?記憶體
- win10系統4g記憶體為什麼只顯示3g_win10系統4g記憶體卻只顯示3g是什麼原因Win10記憶體
- 為什麼JVM指定-Xmx引數後佔用記憶體會變少?JVM記憶體
- MongoDB 如何使用記憶體?為什麼記憶體滿了?MongoDB記憶體
- MongoDB如何使用記憶體?為什麼記憶體滿了?MongoDB記憶體
- 物件為什麼活在記憶體的解析物件記憶體
- Java記憶體模型是什麼,為什麼要有Java記憶體模型,Java記憶體模型解決了什麼問題?Java記憶體模型
- w10老顯示記憶體不足怎麼解決 w10記憶體總是顯示記憶體不足處理方法記憶體
- SQL Server為什麼這麼耗記憶體SQLServer記憶體
- 同樣是電晶體,為什麼暫存器比記憶體快呢?記憶體
- win10記憶體顯示異常怎麼回事 win10系統記憶體顯示異常如何修復Win10記憶體
- 什麼是記憶體記憶體
- 為什麼 Linux 需要虛擬記憶體Linux記憶體
- 面試官:為什麼需要Java記憶體模型?面試Java記憶體模型
- Python 為什麼要保留顯式的 self ?Python
- 為什麼要虛擬化,為什麼要容器,為什麼要Docker,為什麼要K8S?DockerK8S
- 記憶體分頁不就夠了?為什麼還要分段?還有段頁式?記憶體
- 什麼是Java記憶體模型(JMM)中的主記憶體和本地記憶體?Java記憶體模型
- 為什麼還要記密碼密碼
- 香港網際網路創業者為什麼這麼少?創業
- 為什麼說列舉更佔記憶體,列舉原理是什麼?記憶體
- Java記憶體模型FAQ(一) 什麼是記憶體模型Java記憶體模型
- 為什麼程式設計師要儘量少寫程式碼程式設計師
- 為什麼總出現記憶體不能為“read”的錯誤提示記憶體
- Java是否可以棧上分配物件記憶體? 為什麼?Java物件記憶體
- 為什麼applet不能正確的顯示?APP
- 什麼是Java記憶體模型?Java記憶體模型
- 什麼是Java記憶體模型Java記憶體模型
- Spark中的記憶體計算是什麼?Spark記憶體
- 顯示卡的視訊記憶體是什麼?記憶體
- 為什麼遊戲DLC的精品那麼少?遊戲
- Android記憶體分配/回收的一個問題-為什麼記憶體使用很少的時候也GCAndroid記憶體GC
- IBM的AIX記憶體管理機制IBMAI記憶體
- Java記憶體模型FAQ(五)舊的記憶體模型有什麼問題?Java記憶體模型
- 為什麼要removeREM
- 為什麼要敏捷?敏捷
- [譯] WebAssembly中的記憶體(為什麼它比你想象的更安全)Web記憶體