我正在尝试获取使用 docker 部署的特定容器所使用的 cpu 量(以时间或百分比衡量,任何一个):
docker run <container_name>
或使用 lxc 作为:
lxc-start -n <container_name>
我看到使用 lxc 部署的容器将 cpu 使用情况统计信息存储在 /sys/fs/cgroup/cpuacct/cpuacct.stat
但是,我想使用可以从此处获取的 java API 来获取这些统计信息:
https://github.com/docker-java/docker-java
我看到API提供了启动、停止容器、图像信息等方法。但是,我没有看到可以提供容器统计信息(例如cpu、内存和其他资源使用统计信息)的方法。来自 this question我发现这应该出现在 API 1.0 中。
如何从java API获取CPU、内存、网络和其他资源使用统计信息?
我也非常感谢在线博客或教程,它也可以提供对此的更多见解。
<小时/>规范:
Docker:
Client version: 1.1.2
Client API version: 1.13
Go version (client): go1.2.1
Git commit (client): d84a070
Server version: 1.1.2
Server API version: 1.13
Go version (server): go1.2.1
Git commit (server): d84a070
主机操作系统:
- Ubuntu 14.04 值得信赖的 Tahr LTS
- Java 1.7
最佳答案
如果您仍然感兴趣,最新版本的 cadvisor (github.com/google/cadvisor) 添加了对网络、文件系统和许多其他统计信息的支持。再试一次。
关于docker - 从 docker 1.1.2 的 Java API 1.13 获取 cpu 使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25404118/