python 获取docker容器内存使用率

# -*- encoding: utf-8 -*-

from subprocess import Popen, PIPE, STDOUT
import time


def Run_Cmd(cmd): # 执行命令
p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT)
stdout, stderr = p.communicate()
return p.returncode, stdout.strip()

 

if __name__ == "__main__":
docker_id = "0fd446b3d628"
cmd = 'docker stats %s --no-stream' %docker_id
print("开始执行脚本")
mem_list = 0
for i in range(1,121):
code, out = Run_Cmd(cmd)
mem_list += float(out.split()[22].split("%")[0])
print("第%s次 当前内存值:%s"% (i,out.split()[22]))
time.sleep(3)
print("总内存位:{}%".format(mem_list))
avg = float(mem_list) / 120
print("120次平均内存使用率:{}%".format(avg))

posted @ 2021-11-26 09:28  QQmini  阅读(437)  评论(0编辑  收藏  举报