摘要:
内核在哪里禁止对tmpfs中内存页的回收 mem.limit_in_bytes同样会触发shrink_zones过程! shrink_zones是代码中的直接内存回收路径 1、try_to_free_pages/2、try_to_free_mem_cgroup_page/3、shrink_all_m 阅读全文
摘要:
是个长期过程》。。。。。 阅读全文
摘要:
没看见current/high/low/min 在cgroup中的显示内容 阅读全文
摘要:
kswapd发起的回收过程汇总会通过cgroup的excessed树进行回收,但是这个kwap都是啥时候被唤醒呢?为啥不是mem_cgroup_soft_limit_reclaim 发现在内核在在:page_counter_try_charge中的page_counter_try_charge中已经 阅读全文
摘要:
有大量的大页的回收,为什么映射了这么多的大页呢? mmap区域换成普通的大小,这下都是普通的page了,没有了大页的映射了,都是普通的4k小页 阅读全文
摘要:
malloc-9711 [002] .... 40794.642938: mm_vmscan_lru_shrink_inactive: nid=0 zid=1 nr_scanned=3 nr_reclaimed=3 priority=12 flags=RECLAIM_WB_FILE|RECLAIM_WB_ASYNC malloc-9711 [002] ... 阅读全文
摘要:
echo 3 > /proc/sys/vm/drop_cache 保证了对pagecache和slab的回收,但是匿名页的回收没什么办法呀, 其实原理很简单,page-cache是缓存,没有人拥有,并且slab中注册的那些shrinker也是只回收没有用到的内存,都不属于任何进程的 但是匿名页就不一 阅读全文
摘要:
逆向映射是为了从page得到进程信息,里面有三个比较重要的结构体: mm_area_struct, anon_vma_chain, anon_vma 想象一种复杂的场景 所以其实一个进程对应着很多anon_vma才对 进程A:mmap了16K的匿名页出来,这16k应该是有一个vma,anon_vma 阅读全文
摘要:
SystemTap需要内核符号表: 基本语法: next对应C中的return,中途返回; 今晚遗留了两个问题: 1)kernel.{function("vfs_write"), function("vfs_read")} 编译失败; 2) probe kernel.function("vfs_wr 阅读全文