Exemplo n.º 1
0
    def _do_update(self, entities):
        BaseMemCgManager._do_update(self, entities)

        self._calc_reservation(entities)

        self.logger.debug("Memory consumption/unused/reservation: %s" %
                          "; ".join('%s: %s/%s/%s' %
                                    (e.id,
                                     util.strmemsize(e.mem_usage),
                                     util.strmemsize(e.mem_unused),
                                     util.strmemsize(e.mem_reservation))
                                    for e in entities))
Exemplo n.º 2
0
 def __update_memcg_unused(self):
     result = {}
     Z = (0, 0)
     for name in os.listdir(config.MEMCG__ROOT_PATH):
         path = os.path.join(config.MEMCG__ROOT_PATH, name)
         if not os.path.isdir(path):
             continue
         cnt = Z
         for root, subdirs, files in os.walk(path):
             try:
                 ino = os.stat(root)[stat.ST_INO]
             except OSError:  # cgroup dir removed?
                 continue
             cnt = map(sum, zip(cnt, self.__nr_unused.get(ino, Z)))
         # convert pages to bytes
         result[name] = tuple(x * sysinfo.PAGE_SIZE for x in cnt)
     MemCg.unused_mem_estimate = result
     self.logger.debug("Unused memory estimate (anon/file)): %s" %
                       "; ".join('%s: %s/%s' % (k,
                                                util.strmemsize(v1),
                                                util.strmemsize(v2))
                                 for k, (v1, v2) in result.iteritems()))
Exemplo n.º 3
0
 def __strmemsize(val):
     if val == LoadConfig.MAX_LIMIT:
         return "unlim"
     return util.strmemsize(val)