天高地厚

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

内存页大小 .

Posted on 2013-02-05 17:32  天高地厚-GNU  阅读(297)  评论(0编辑  收藏  举报

操作系统以内存页为单位管理内存,内存页的大小对系统性能有影响。内存页设得太小,内存页会很多,管理内存页的数组会比较大,耗内存,同时TLB大小是固定的,导致TLB MISS增加。所谓TLB就是把虚拟内存页面与物理内存页面的转换结果存起来,不用每次都用MMU作转换。内存页设大了,因为一个进程拥有的内存是内存页大小的整数倍,会导致碎片,即申请了很多内存,真正用到的只有一点。如果考虑SWAP分区(即把硬盘当内存用,在WINDOWS下应该叫虚拟内存),需要把硬盘数据读入内存,硬盘的读性是,连续读大片数据比分多次读小数据要快,这时候应该把内存页大小设大些

在不同的应用场合,内存页的大小的最优值是不同的。所以一般的系统都支持多种内存页的取值。

就线上服务器来说,一般是只跑少数几个进程,内存大都是被某个进程所用,这时候可以把内存页设得比较大