- 论坛徽章:
- 0
|
1:计算内存页(computational pages)在内存不足时才会交换到换页空间(Paging Space)去,从而产生了vmstat中显示的page in/out. 换句话说,page in/out只有在计算内存页换进/换出时产生的,文件缓存部分是不会产生page in/out的。我的理解对吗
对的。严格地讲,是paging space page in 和 paging space page out。因为在操作系统里,'page in/out' 可以笼统地代表内存的读入和写出,包括文件部分的内存。
2:从vmo的参数没有看到能直接调整计算内存页的大小。是不是通过调整非计算页(non-computational pages)相关参数来影响计算内存页的大小?比如调整maxperm, minperm, lru_file_repage, maxclient等等。
注意:avm 是 active virtual 的总量,这个总量完全起决于程序成功申请的内存数量,和以上参数无关。
一个virtual memory page可以在内存里,可以在paging space上,甚至可以在同时在内存和paging space上:比如一个曾经被page out出去的内存页又被读回来了,但paging space的那个页并没有被删除
-- 这种情况下,仍然只有一个 'virtual page',但是有两个 'physical location/page' 指向同一个页。
你上面提到的参数是用来控制物理内存的分配策略:当物理内存不够时,什么时候放弃文件缓存,什么时候把计算内存‘腾’到paging space,还是比较一下repage rate 再决定。
绝大部分情况下应该选择放弃文件缓存。
所以调整以上参数准确来讲是来影响计算_物理_内存页的大小。而avm是虚拟页的大小,以上参数无法增加或减小avm。 |
|