最后更新2021/08/02
这个还算是比较实用的功能。最早介绍过CPU共享,也提到过内存共享,但CPU共享是动态、实时、按需分配的(虽然有限制条件),而内存需要用DLPar功能,收工调节,至少不是实时分配,那内存可不可以实现类似CPU的实时共享?答案是肯定的,但需要一些配置,这就是AMS(Active Memory Sharing)功能。
如果小型机有AMS授权,则可以支持两种内存模式:独占模式和共享模式(本节所提到的内存,如果没有特别说明,均为物理内存)。
-
在独占内存模式下,分区拥有固定的内存数量,虽然这个数字可以通过DLpar方式调整,但它不会自动更改。所有活动(启动的)分区的内存加上Hypervisor(微码)占用的内存总和就是小型机所有被使用的内存,其他剩余的内存则归属闲置内存池(Free Memory Pool),新分区启动或者DLpar增加当前活动分区内存都从内存池中抓取内存,而分区停止或者DLpar减少内存所释放的内存又还回内存池。无论经过什么动作,活动内存和未使用内存的总数不会改变。也就是分区之间不能互相抢占,与普通内存DLPar不同的是分区在启动时无需一次性拿到所有分配的内存,而在运行过程中从内存池中申请。
-
在共享内存模式下,分区被分配的内存成为逻辑数字,而不再是实实在在的物理内存。Hypervisor从物理内存中划分出一部分内存构成共享内存池,Hypervisor可以使用类似DLpar一样的方式向共享内存池中增加或者减少物理内存。当定义共享内存分区时,需要定义分区min(最小)、desire