- 论坛徽章:
- 0
|
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
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/11287/showart_134753.html |
|