kubectl top no內存使用率的計算


1.從下圖可以看出node:10.81.163.21的內存使用率93%,該節點總共有7821M(Capacity Memory)物理內存,然后k8s的可分配內存(Allocatable Memory)為5399696Ki

那這個98%是怎么來的?

[root @iZcwfshg0bs9fxZ  system]# free -m
               total        used        free      shared  buff/cache   available
Mem:            7821         5176         1930            1          714         2294
Swap:              0            0            0
 
 
[root @iZcwfshg0bs9fxZ  system]# kubectl top no
NAME            CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%     
10.81 . 163.21     478m          15 %    5208Mi           98 %      
[root @iZcwfshg0bs9fxZ  system]# kubectl describe no  10.81 . 163.21
Name:                10.81 . 163.21
Roles:              <none>
Labels:             beta.kubernetes.io/arch=amd64
                     beta.kubernetes.io/os=linux
                     ctet-sc=node
                     kubernetes.io/hostname= 10.81 . 163.21
Annotations:        node.alpha.kubernetes.io/ttl:  0
                     volumes.kubernetes.io/controller-managed-attach-detach:  true
CreationTimestamp:  Wed,  27  Mar  2019  10 : 25 : 48  + 0800
Taints:             <none>
Unschedulable:       false
Conditions:
   Type             Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
   ----             ------  -----------------                 ------------------                ------                       -------
   MemoryPressure   False   Thu,  25  Apr  2019  18 : 59 : 45  + 0800    Tue,  23  Apr  2019  20 : 49 : 53  + 0800    KubeletHasSufficientMemory   kubelet has sufficient memory available
   DiskPressure     False   Thu,  25  Apr  2019  18 : 59 : 45  + 0800    Wed,  27  Mar  2019  10 : 25 : 52  + 0800    KubeletHasNoDiskPressure     kubelet has no disk pressure
   PIDPressure      False   Thu,  25  Apr  2019  18 : 59 : 45  + 0800    Wed,  27  Mar  2019  10 : 25 : 52  + 0800    KubeletHasSufficientPID      kubelet has sufficient PID available
   Ready            True    Thu,  25  Apr  2019  18 : 59 : 45  + 0800    Thu,  25  Apr  2019  18 : 57 : 05  + 0800    KubeletReady                 kubelet is posting ready status
Addresses:
   InternalIP:   10.81 . 163.21
   Hostname:     10.81 . 163.21
Capacity:
  cpu:                 4
  ephemeral-storage:  41151808Ki
  hugepages-1Gi:       0
  hugepages-2Mi:       0
  memory:             8008848Ki
  pods:                110
Allocatable:
  cpu:                 3
  ephemeral-storage:   35697000443
  hugepages-1Gi:       0
  hugepages-2Mi:       0
  memory:             5399696Ki
  pods:                110
System Info:
  Machine ID:                  20190215172108590907433256076310
  System UUID:                4F846BA6-A427- 4257 -91CF-E496FA5BCC45
  Boot ID:                    eeb21388-45bf-429e-84a8-ff11a46833dd
  Kernel Version:              3.10 . 0 - 957.5 . 1 .el7.x86_64
  OS Image:                   CentOS Linux  7  (Core)
  Operating System:           linux
  Architecture:               amd64
  Container Runtime Version:  docker: //18.3.1
  Kubelet Version:            v1. 13.1
  Kube-Proxy Version:         v1. 13.1
Non-terminated Pods:         ( 8  in total)
   Namespace                  Name                               CPU Requests  CPU Limits  Memory Requests  Memory Limits  AGE
   ---------                  ----                               ------------  ----------  ---------------  -------------  ---
   ctet-sc                    ask-bar-service-vsv8z               0  ( 0 %)         0  ( 0 %)       0  ( 0 %)            0  ( 0 %)         5d22h
   ctet-sc                    ask-bar-web-server-h96dx            0  ( 0 %)         0  ( 0 %)       0  ( 0 %)            0  ( 0 %)         5d22h
   ctet-sc                    cs-service-vjgl5                   100m ( 3 %)      4  ( 133 %)    1Gi ( 19 %)        2Gi ( 38 %)      39m
   ctet-sc                    exam-service-g442f                  0  ( 0 %)         0  ( 0 %)       0  ( 0 %)            0  ( 0 %)         5d23h
   ctet-sc                    microclass-async-service-v7n8t      0  ( 0 %)         0  ( 0 %)       0  ( 0 %)            0  ( 0 %)         5d23h
   default                     node-server-7bnp5                   0  ( 0 %)         0  ( 0 %)       0  ( 0 %)            0  ( 0 %)         8d
   default                     system-service-5584f55df5-hkv5t     1  ( 33 %)        6  ( 200 %)    1Gi ( 19 %)        6Gi ( 116 %)     12d
   monitoring                 node-exporter-4k4p2                112m ( 3 %)     270m ( 9 %)   200Mi ( 3 %)       220Mi ( 4 %)     29d
Allocated resources:
   (Total limits may be over  100  percent, i.e., overcommitted.)
   Resource           Requests      Limits
   --------           --------      ------
   cpu                1212m ( 40 %)   10270m ( 342 %)
   memory             2248Mi ( 42 %)  8412Mi ( 159 %)
   ephemeral-storage   0  ( 0 %)         0  ( 0 %)

2.內存使用率=pod used total memory/Allocatable Memory=(5176*1024)/5399696=0.9816=98%

pod used total memory就是在這台機器上的所有docker容器占用內存總和;

Allocatable Memory就是kubectl describe no 查看出該節點可分配的內存=物理內存-k8s預留內存

 

同理cpu使用率=pod used total cpu/Allocatable CPU


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM