您好,关于大内存页有两个疑问:
1. 一直知道aix中可以使用4K,64K,16M,甚至16G的虚拟内存页。但因为工作原因,一直没有使用过大内存页,能否讲一下一般在什么场景下会使用大内存页。调整为大内存页时有什么值得注意的地方。
2. 我之前有注意在asmi或hmc中有logical memory block size的调整选项,这个和aix系统中启用的大内存页有什么关系,一般什么情况下需要调整。
非常感谢!
大内存块,和存储里面把block size调大是差不多的意思。
内存块大了,内存分配和回收比较简单和整齐,不容易产生内存碎片。使用大内存块主要是为了在读写的块比较大的情况下提升性能,比如一个16MB的块,只要一个IO。但如果用4KB的内存块,需要4*1024次IO,操作系统干起来就比较费劲了。
但内存块大了,缺点是1)比较耗内存,2)如果多进程并发修改这个内存块的话,内存栓锁比较严重。
另外,补充一点知识:AIX上面进程空间的虚拟内存分页默认的页大小是4K,但POWER5+以上的处理器支持4种页大小,分别是4KB(small),64KB(medium),16MB(large)和16GB(huge),POWER6处理器开始支持4K和64K的混合形式,即一个segment里面既有4K分页,也有64K分页,当需要大块内存、需要提升性能的时候用64K分页,当64K分页可能会浪费内存的时候则用4K分页。
收起