Ինչպես ստուգել Docker Container RAM-ի և CPU-ի օգտագործումը


Այս էջում

  1. Նախադրյալներ
  2. Ինչպես վերահսկել և ստուգել Docker Container CPU-ի և RAM-ի օգտագործումը
  3. Ցուցադրել Docker Container-ի օգտագործումը կեղծ ֆայլերի միջոցով
  4. Եզրակացություն

Docker-ը ամենահայտնի և լայնորեն օգտագործվող կոնտեյներացման հարթակներից մեկն է՝ հավելվածներ ստեղծելու, համօգտագործելու և գործարկելու համար: Ժամանակակից աշխարհում հավելվածների մեծ մասը տեղակայված է կոնտեյներացման հարթակում, ուստի Docker կոնտեյների կառավարումը ցանկացած համակարգի ադմինիստրատորի հիմնական խնդիրն է: Docker-ը թույլ է տալիս ստուգել և վերահսկել ռեսուրսների օգտագործումը, ինչպես օրինակ՝ պրոցեսորը, և Docker կոնտեյներների հիշողության օգտագործումը:

Այս ձեռնարկը ցույց կտա ձեզ, թե ինչպես ստուգել Docker կոնտեյների CPU-ի և RAM-ի օգտագործումը:

Նախադրյալներ

  • Linux-ով աշխատող սերվեր՝ տեղադրված Docker-ով:
  • Սերվերի վրա կազմաձևված է արմատային գաղտնաբառը:

Ինչպես վերահսկել և ստուգել Docker Container CPU-ի և RAM-ի օգտագործումը

Docker-ը տրամադրում է վիճակագրության ենթահրաման, որը թույլ է տալիս ստուգել ձեր գործող Docker կոնտեյներների հիշողությունը և պրոցեսորի օգտագործումը:

Դոկերի վիճակագրության բոլոր հրամանները ցուցակագրելու համար գործարկեք հետևյալ հրամանը.

docker stats --help

Դուք կստանաք հետևյալ արդյունքը.

Usage:  docker stats [OPTIONS] [CONTAINER...]

Display a live stream of container(s) resource usage statistics

Options:
  -a, --all             Show all containers (default shows just running)
      --format string   Pretty-print images using a Go template
      --no-stream       Disable streaming stats and only pull the first result
      --no-trunc        Do not truncate output

Այժմ, եկեք գործարկենք docker stats հրամանը՝ ստուգելու բոլոր գործող բեռնարկղերի կարգավիճակը.

docker stats

Բոլոր գործարկվող կոնտեյներների մասին տեղեկատվությունը կստանաք հետևյալ ելքում:

CONTAINER ID   NAME                  CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O     PIDS
cb40a0f56aba   determined_robinson   0.00%     2.648MiB / 3.839GiB   0.07%     726B / 0B         0B / 12.3kB   3
e0ee5b16c93f   portainer             0.84%     24.6MiB / 3.839GiB    0.63%     1.02MB / 4.35MB   0B / 721kB    5

Լռելյայնորեն, docker stats հրամանը կցուցադրի բոլոր կոնտեյների վիճակագրության ուղիղ հեռարձակումը: Եթե ցանկանում եք տեսնել բոլոր գործող բեռնարկղերի առաջին վիճակագրությունը, օգտագործեք --no-stream դրոշը:

docker stats --no-stream

Դուք կստանաք հետևյալ արդյունքը.

CONTAINER ID   NAME                  CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O     PIDS
cb40a0f56aba   determined_robinson   0.00%     2.648MiB / 3.839GiB   0.07%     796B / 0B         0B / 57.3kB   3
e0ee5b16c93f   portainer             0.00%     25.5MiB / 3.839GiB    0.65%     1.03MB / 4.35MB   0B / 721kB    5

Լռելյայնորեն, docker stats հրամանը կցուցադրի բոլոր գործող բեռնարկղերի վիճակագրությունը: Եթե ցանկանում եք ցուցադրել ինչպես գործարկվող, այնպես էլ դադարեցված բեռնարկղերի վիճակագրությունը, օգտագործեք -a դրոշը.

docker stats --no-stream -a

Եթե ցանկանում եք ստուգել կոնկրետ կոնտեյների կարգավիճակը, օգտագործեք docker stats հրամանը, որին հաջորդում է կոնտեյների ID-ն:

docker stats cb40a0f56aba

Դուք կստանաք հետևյալ արդյունքը.

CONTAINER ID   NAME                  CPU %     MEM USAGE / LIMIT     MEM %     NET I/O     BLOCK I/O     PIDS
cb40a0f56aba   determined_robinson   0.00%     2.648MiB / 3.839GiB   0.07%     796B / 0B   0B / 57.3kB   3

Գործարկեք հետևյալ հրամանը՝ բոլոր գործող կոնտեյներների միայն պրոցեսորի տեղեկատվությունը ցուցադրելու համար:

docker stats --format "{{.Container}} {{.CPUPerc}}" --no-stream

Արդյունք.

cb40a0f56aba 0.00%
e0ee5b16c93f 0.00%

Գործարկեք հետևյալ հրամանը՝ բոլոր գործող կոնտեյներների միայն պրոցեսորի և հիշողության մասին տեղեկությունները ցուցադրելու համար:

docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemPerc}}"

Արդյունք.

CONTAINER      CPU %     MEM %
cb40a0f56aba   0.00%     0.07%
e0ee5b16c93f   0.10%     0.59%

Ցուցադրել Docker Container-ի օգտագործումը կեղծ ֆայլերի միջոցով

Դուք կարող եք նաև ստուգել Docker կոնտեյների չափումները վերահսկիչ խմբերից, որոնք գտնվում են /sys/fs/cgroup գրացուցակի տակ՝ Docker բեռնարկղերի հյուրընկալող համակարգի:

Նախ, ստացեք բոլոր գործարկվող կոնտեյների ID-ն՝ օգտագործելով հետևյալ հրամանը.

docker ps --no-trunc --format "{{.Names}}\t{{.ID}}"

Դուք կստանաք հետևյալ արդյունքը.

determined_robinson	cb40a0f56aba8b3a29513dafa7622f8d5d6435c9302dc6a3db73ea5eca506af5
portainer	e0ee5b16c93f358a15dfcb93cc80d2c2d1c1c675e7b65e41434ce20f08773465

Հաջորդը գործարկեք հետևյալ հրամանը՝ երկրորդ կոնտեյների վիճակագրությունը ստանալու համար:

cat /sys/fs/cgroup/system.slice/docker-e0ee5b16c93f358a15dfcb93cc80d2c2d1c1c675e7b65e41434ce20f08773465.scope/cpu.stat

Դուք կստանաք կոնտեյների չափումներ հետևյալ ելքում:

usage_usec 1550758
user_usec 1301875
system_usec 248883
nr_periods 0
nr_throttled 0
throttled_usec 0

Եզրակացություն

Այս գրառման մեջ մենք ձեզ ցույց տվեցինք, թե ինչպես ստուգել Docker կոնտեյների CPU-ն և հիշողության օգտագործումը հրամանի տողի միջոցով: Հուսով եմ, որ սա կօգնի ձեզ վերահսկել ձեր Docker միջավայրը: Ազատորեն հարցրեք ինձ, եթե ունեք հարցեր: