美文网首页
查询容器使用的系统资源

查询容器使用的系统资源

作者: momo1023 | 来源:发表于2019-10-30 14:12 被阅读0次

    默认输出

    docker stats 命令用来显示容器使用的系统资源。不带任何选项执行 docker stats 命令:

    $ docker stats
    

    输出:

    CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
    8795b6b15b4a        AnyQ                0.01%               2.629MiB / 3.855GiB   0.07%               2.14kB / 0B         13.6MB / 0B         1
    

    默认情况下,stats 命令会每隔 1 秒钟刷新一次输出的内容直到你按下 ctrl + c。下面是输出的主要内容:
    [CONTAINER]:以短格式显示容器的 ID。
    [CPU %]:CPU 的使用情况。
    [MEM USAGE / LIMIT]:当前使用的内存和最大可以使用的内存。
    [MEM %]:以百分比的形式显示内存使用情况。
    [NET I/O]:网络 I/O 数据。
    [BLOCK I/O]:磁盘 I/O 数据。
    [PIDS]:PID 号。

    只返回当前的状态

    如果不想持续的监控容器使用资源的情况,可以通过 --no-stream 选项只输出当前的状态:

    $ docker stats --no-stream
    

    只输出指定的容器

    如果我们只想查看个别容器的资源使用情况,可以为 docker stats 命令显式的指定目标容器的名称或者是 ID:

    $ docker stats --no-stream container_name_1 container_id_2
    

    此时,第一列不再显示默认的容器 ID,而是显示了我们传入的容器名称和 ID。基于此,我们可以通过简单的方式使用容器的名称替代默认输出中的容器 ID:

    $ docker stats $(docker ps --format={{.Names}})
    

    格式化输出的结果

    docker stats 命令支持我们通过 --format 选项自定义输出的内容和格式:

    $ docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"
    

    上面的命令中只输出了 Name, CPUPerc 和 Memusage 三列。下面是自定义的格式中可以使用的所有占位符:
    .Container 根据用户指定的名称显示容器的名称或 ID。
    .Name 容器名称。
    .ID 容器 ID。
    .CPUPerc CPU 使用率。
    .MemUsage 内存使用量。
    .NetIO 网络 I/O。
    .BlockIO 磁盘 I/O。
    .MemPerc 内存使用率。
    .PIDs PID 号。

    还可以通过 format 选项输出 json 格式的结果:

    $ docker stats --no-stream --format \
        "{\"container\":\"{{ .Container }}\",\"memory\":{\"raw\":\"{{ .MemUsage }}\",\"percent\":\"{{ .MemPerc }}\"},\"cpu\":\"{{ .CPUPerc }}\"}"
    

    相关文章

      网友评论

          本文标题:查询容器使用的系统资源

          本文链接:https://www.haomeiwen.com/subject/orpovctx.html