【问题标题】:understanding docker container cpu usages了解 docker 容器 cpu 的使用
【发布时间】:2020-06-01 04:33:16
【问题描述】:

docker stats 表明cpu使用率很高。但是top 命令输出显示88.3% 的cpu 没有被使用。容器内部是一个java服务httpthrift服务。

docker stats :
CONTAINER           CPU %               MEM USAGE / LIMIT    MEM %               NET I/O             BLOCK I/O           PIDS
8a0488xxxx5        540.9%             41.99 GiB / 44 GiB   95.43%              0 B / 0 B           0 B / 35.2 MB       286

顶部输出:

top - 07:56:58 up 2 days, 22:29,  0 users,  load average: 2.88, 3.01, 3.05
Tasks:  13 total,   1 running,  12 sleeping,   0 stopped,   0 zombie
%Cpu(s):  8.2 us,  2.7 sy,  0.0 ni, 88.3 id,  0.0 wa,  0.0 hi,  0.9 si,  0.0 st
KiB Mem:  65959920 total, 47983628 used, 17976292 free,   357632 buffers
KiB Swap:  7999484 total,        0 used,  7999484 free.  2788868 cached Mem

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                               
  8823 root      20   0 58.950g 0.041t  21080 S 540.9 66.5  16716:32 java 

如何降低cpu使用率并使其低于100%?

【问题讨论】:

    标签: docker microservices


    【解决方案1】:

    根据top man page

    在 Solaris 模式下运行时(“I”关闭),任务的 CPU 使用率将除以 CPU 总数。发出此命令后,您将被告知此切换的新状态。

    因此,在交互模式下使用 top 时按下 I 键,您将切换到 Solaris 模式,CPU 使用率将除以 CPU(或内核)总数。

    P.S.:此选项并非在所有版本的 top 上都可用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-09
      • 1970-01-01
      • 1970-01-01
      • 2016-10-18
      • 1970-01-01
      • 2022-06-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多