当使用docker stats命令查看正在运行的容器时,我可以看到容器的内存使用率为202.3MiB。但是,当通过REST API使用GET / containers / container_name / stats-> memory_stats-> usage查看同一容器时,那里的使用情况显示为242.10 MiB。
这些值之间存在很大差异。造成差异的原因可能是什么?我知道docker客户端使用REST API来获取其统计信息,但是我在这里缺少什么呢?
解决了我的问题。最初,在计算内存使用量时,我没有考虑缓存内存。
说“ stats”是GET / containers / container_name / stats返回的json,
正确的公式是:
memory_usage = stats["memory_stats"]["usage"] - stats["memory_stats"]["stats"]["cache"]
limit = memory_usage = stats["memory_stats"]["limit"]
memory_utilization = memory_usage/limit * 100
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
146 次 |
| 最近记录: |