logging - 如何在容器上的特定进程上获取RAM,CPU,网络使用情况

标签 logging docker virtual-machine centos7 sysdig

我正在研究在Centos7 VM上运行的许多Docker容器。每个容器将运行许多进程。对于每个进程,我希望能够看到CPU网络和RAM的使用情况,以识别容器何时开始过载。仅获得容器的CPU和RAM是不够的,因为CPU可能已分配了100%的RAM,但实际上在进程中还有剩余的RAM。我已经使用Sysdig凿子来获取各个进程的CPU使用率,但是未合并使用网络和RAM。专门针对网络统计信息,我希望能够知道网络数据包是否丢弃了其他任何相关统计信息。理想情况下,我将能够使用类似于Sysdig的工具从主机检索统计信息,而不必使用容器内的资源来运行单独的日志生成器。

最佳答案

我相信您可以使用docker top <container id>来查看容器中运行的所有进程,但这不会向您显示内存和cpu的使用情况等。

您可以根据注释中的建议,使用docker stats <container id>查看整个容器的总内存使用量,CPU使用量,I / O等。

另外,您也可以登录到容器,并使用docker exec -it <container id> bash进行查看,但请注意,根据基础的不同,您可能无法使用bash,因此可能必须使用sh

关于logging - 如何在容器上的特定进程上获取RAM,CPU,网络使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38150706/

相关文章:

docker - Docker Swarm 集群设置的单一脚本

docker - macos 和 skaffold 的 docker 桌面上的设备上没有剩余空间

logging - 通过 HTTP 在 Web 服务器上拖尾文本文件

python应用程序更改日志记录级别

java - 维护多个 webapps 的多个 log4j.xml 配置

shell - GItLab CI 给出了curl : (7) Failed to connect to localhost port 8090: Connection refused

c# - 如何减少写入磁盘的旧应用程序和实时读取它的应用程序 (.NET) 上的文件 IO

git - 在 Ubuntu 上配置 Git 托管

azure - 如何获取 ARM 模板中 Azure 区域支持的 VM 大小列表

node.js - Cat 显示日志中没有任何内容( express 服务器)