小页面优点:
1、减少内部碎片:一个正文段,数据段或堆栈段可能不会恰好装满整个页面,最后一个页面不被装满就会产生内部碎片
2、可以减少内存浪费:如果一个程序运行需要等待内存很小,使用大页面就会产生很多内存浪费,例如,一个程序需要4KB内存,但页面大小是32KB就会浪费掉24KB,如果页面大小是4KB就不会产生内存浪费
小页面缺点:
1、产生更多的页表项,需要更大的页表
2、降低装入速度:内存与磁盘之间的传输一般是一次一页,传输的时间大部分花在寻道和旋转延迟上,所以传输一个小页面和一个大页面的时间基本相同,当装入同样大小字节的数据时,使用小页面需要装入更多次,花费的时间更多
3、使用更多的TLB空间:TLB表项相对稀缺,且对性能而言更重要,所以应尽量使用大页表
4、装入页面寄存器话费的时间更长:从一个进程切换到另一个进程时,需要把新进程的页表装入硬件寄存器,页表小就需要花费更多的时间