上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 32 下一页
摘要: 内核在哪里禁止对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 阅读全文
posted @ 2017-11-22 09:22 honpey 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 是个长期过程》。。。。。 阅读全文
posted @ 2017-11-17 09:22 honpey 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 没看见current/high/low/min 在cgroup中的显示内容 阅读全文
posted @ 2017-11-16 09:08 honpey 阅读(213) 评论(0) 推荐(0) 编辑
摘要: kswapd发起的回收过程汇总会通过cgroup的excessed树进行回收,但是这个kwap都是啥时候被唤醒呢?为啥不是mem_cgroup_soft_limit_reclaim 发现在内核在在:page_counter_try_charge中的page_counter_try_charge中已经 阅读全文
posted @ 2017-11-15 09:01 honpey 阅读(2135) 评论(0) 推荐(0) 编辑
摘要: 有大量的大页的回收,为什么映射了这么多的大页呢? mmap区域换成普通的大小,这下都是普通的page了,没有了大页的映射了,都是普通的4k小页 阅读全文
posted @ 2017-11-13 22:51 honpey 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 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] ... 阅读全文
posted @ 2017-11-13 08:58 honpey 阅读(228) 评论(0) 推荐(0) 编辑
摘要: echo 3 > /proc/sys/vm/drop_cache 保证了对pagecache和slab的回收,但是匿名页的回收没什么办法呀, 其实原理很简单,page-cache是缓存,没有人拥有,并且slab中注册的那些shrinker也是只回收没有用到的内存,都不属于任何进程的 但是匿名页就不一 阅读全文
posted @ 2017-11-10 20:51 honpey 阅读(894) 评论(0) 推荐(0) 编辑
摘要: 逆向映射是为了从page得到进程信息,里面有三个比较重要的结构体: mm_area_struct, anon_vma_chain, anon_vma 想象一种复杂的场景 所以其实一个进程对应着很多anon_vma才对 进程A:mmap了16K的匿名页出来,这16k应该是有一个vma,anon_vma 阅读全文
posted @ 2017-11-06 01:11 honpey 阅读(1364) 评论(0) 推荐(0) 编辑
摘要: SystemTap需要内核符号表: 基本语法: next对应C中的return,中途返回; 今晚遗留了两个问题: 1)kernel.{function("vfs_write"), function("vfs_read")} 编译失败; 2) probe kernel.function("vfs_wr 阅读全文
posted @ 2017-11-02 23:35 honpey 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 内存中cgroup: 发现memory cgroup中mem.usage_in_bytes是通过下面这个数值得到的: 然后计数的增加在函数:mm/page_counter.c文件中的:page_counter_charge函数, mem_cgroup_try_charge--> > try_char 阅读全文
posted @ 2017-10-30 23:33 honpey 阅读(1147) 评论(0) 推荐(0) 编辑
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 32 下一页