zoukankan      html  css  js  c++  java
  • 内存cgroup---CGroup中参数由来篇

    内存中cgroup:

    发现memory cgroup中mem.usage_in_bytes是通过下面这个数值得到的:

     val = page_counter_read(&memcg->memory);
    

      然后计数的增加在函数:mm/page_counter.c文件中的:page_counter_charge函数,

    mem_cgroup_try_charge-->

                                                                         -----> try_charge--->page_counter_charge(memcg->memory)

    mem_cgroup_try_charge_skmem -->

    soft_limit_excess(struct memcgroup)

     446 static unsigned long soft_limit_excess(struct mem_cgroup *memcg)
     447 {
     448     unsigned long nr_pages = page_counter_read(&memcg->memory);
     449     unsigned long soft_limit = READ_ONCE(memcg->soft_limit);
     450     unsigned long excess = 0;
     451 
     452     if (nr_pages > soft_limit)
     453         excess = nr_pages - soft_limit;
     454 
     455     return excess;
     456 }
     457 
    

    PATH1)   do_try_to_free_pages---->shrink_zones----->

                                                                                      mem_cgroup_soft_limit_reclaim ---> mem_cgroup_soft_reclaim-->mem_cgroup_shrink_node

    PATH2)   kswapd_init----->kswaped---->balance_bgdat---->

    其中PATH1)有这么几条路到达:try_to_free_pages    try_to_free_mem_cgroup_pages  shrink_all_memory

    try_to_free_mem_cgroup_pages(mm/memcontrol.c) 在try_charge/force_empty/memory_max_write......等等条件的时候就会触发

  • 相关阅读:
    nginx 指令之 try_files
    java tomcat jvm优化
    使用phpexcel上传下载excel文件
    路由器数据统计SQL脚本
    微信公众平台开发(122) 获取微信会员卡用户姓名和手机号
    微信会员卡积分规则
    IP白名单
    关于公众平台接口不再支持HTTP方式调用的公告
    微信公众号特异功能列表
    微信小程序 TOP100 榜单
  • 原文地址:https://www.cnblogs.com/honpey/p/7758268.html
Copyright © 2011-2022 走看看