1. 系统当中的内存以页的形式存在,细分为:文件页和匿名页,前者对应文件,后者对应没有相应后备存储的数据(auxilitory storage)
2. 文件页的回收可以直接把脏页刷盘,然后释放即可
3. 匿名页的回收需要用到swap,
4. 系统回收内存一般会涉及两个主要参数:1. /proc/sys/vm/min_free_kbytes, 整个系统的最小水位,低水位和高水位都是根据这个值算出来的,如果系统内存(如果numa,会有单个节点的数值)低于低水位,则会进行内存回收;2. /proc/sys/vm/swappiness [0,100],进行回收匿名页的积极程度,越高越积极,为0是不代表不回收匿名页,只是意愿不强而已
5. /proc/sys/vm/vfs_cache_pressure表示内核回收目录项缓存和索引节点缓存的倾向,数值越大,表示越容易回收
6. /sys/block/sdb/queue/read_ahead_kb 读磁盘时的预读大小(默认128KB), blockdev工具也可以设置:
-
blockdev --setra 8192 /dev/sdb
这里8192的单位是512B
7. /sys/block/sdb/queue/nr_requests 磁盘队列长度(增大的话可能导致I/O延迟增大)
8. /proc/sys/vm/drop_caches : 1--->page_cache; 2---> dentries and inodes; 3---> 1 + 2
阅读(1453) | 评论(0) | 转发(0) |