我正在研究在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/