Ako skontrolovať využitie pamäte RAM a CPU kontajnera Docker
Na tejto stránke
- Predpoklady
- Ako monitorovať a kontrolovať využitie CPU a RAM kontajnera Docker
- Zobraziť využitie kontajnera Docker pomocou pseudosúborov
- Záver
Docker je jednou z najpopulárnejších a najpoužívanejších kontajnerových platforiem na vytváranie, zdieľanie a spúšťanie aplikácií. V dnešnom svete je väčšina aplikácií nasadená na kontajnerovej platforme, takže správa kontajnera Docker je kľúčovou úlohou každého správcu systému. Docker vám umožňuje kontrolovať a monitorovať využitie zdrojov, ako je CPU a využitie pamäte kontajnermi Docker.
Tento tutoriál vám ukáže, ako skontrolovať využitie procesora a pamäte RAM kontajnera Docker.
Predpoklady
- Server so systémom Linux s nainštalovaným Dockerom.
- Na serveri je nakonfigurované heslo root.
Ako monitorovať a kontrolovať využitie CPU a RAM kontajnera Docker
Docker poskytuje podpríkaz štatistiky, ktorý vám umožňuje kontrolovať pamäť a využitie CPU kontajnerov Docker.
Ak chcete zobraziť zoznam všetkých príkazov docker stats, spustite nasledujúci príkaz.
docker stats --help
Dostanete nasledujúci výstup.
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
Teraz spustite príkaz docker stats na kontrolu stavu všetkých spustených kontajnerov:
docker stats
Informácie o všetkých bežiacich kontajneroch získate v nasledujúcom výstupe.
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
V predvolenom nastavení príkaz docker stats zobrazí živý prenos všetkých štatistík kontajnerov. Ak chcete vidieť prvé štatistiky všetkých spustených kontajnerov, použite príznak --no-stream.
docker stats --no-stream
Dostanete nasledujúci výstup.
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
V predvolenom nastavení príkaz docker stats zobrazí štatistiky všetkých spustených kontajnerov. Ak chcete zobraziť štatistiky spustených aj zastavených kontajnerov, použite príznak -a:
docker stats --no-stream -a
Ak chcete skontrolovať stav konkrétneho kontajnera, použite príkaz docker stats nasledovaný ID kontajnera.
docker stats cb40a0f56aba
Dostanete nasledujúci výstup.
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
Spustite nasledujúci príkaz, aby ste zobrazili iba informácie o CPU všetkých spustených kontajnerov.
docker stats --format "{{.Container}} {{.CPUPerc}}" --no-stream
Výstup.
cb40a0f56aba 0.00%
e0ee5b16c93f 0.00%
Spustite nasledujúci príkaz, aby ste zobrazili iba informácie o CPU a pamäti všetkých spustených kontajnerov.
docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemPerc}}"
Výstup.
CONTAINER CPU % MEM %
cb40a0f56aba 0.00% 0.07%
e0ee5b16c93f 0.10% 0.59%
Zobraziť využitie kontajnera Docker pomocou pseudosúborov
Môžete tiež skontrolovať metriky kontajnera Docker z kontrolných skupín, ktoré sa nachádzajú v adresári /sys/fs/cgroup v hostiteľskom systéme kontajnera Docker.
Najprv získajte ID všetkých spustených kontajnerov pomocou nasledujúceho príkazu.
docker ps --no-trunc --format "{{.Names}}\t{{.ID}}"
Dostanete nasledujúci výstup.
determined_robinson cb40a0f56aba8b3a29513dafa7622f8d5d6435c9302dc6a3db73ea5eca506af5
portainer e0ee5b16c93f358a15dfcb93cc80d2c2d1c1c675e7b65e41434ce20f08773465
Potom spustite nasledujúci príkaz, aby ste získali štatistiky druhého kontajnera.
cat /sys/fs/cgroup/system.slice/docker-e0ee5b16c93f358a15dfcb93cc80d2c2d1c1c675e7b65e41434ce20f08773465.scope/cpu.stat
Metriky kontajnera získate v nasledujúcom výstupe.
usage_usec 1550758
user_usec 1301875
system_usec 248883
nr_periods 0
nr_throttled 0
throttled_usec 0
Záver
V tomto príspevku sme vám ukázali, ako skontrolovať využitie procesora a pamäte kontajnera Docker pomocou príkazového riadka. Dúfam, že vám to pomôže monitorovať vaše prostredie Docker. Ak máte nejaké otázky, neváhajte sa ma opýtať.