В настоящее время я ищу решение для получения показателей использования процессора с помощью команды linux «top». с командой top я вижу, что она дает только мгновенную статистику процессора. Как получить показатели из модуля? Любые указатели будут оценены.

0
user504685 10 Дек 2021 в 07:42
Рассматривали ли вы возможность использования ps или sar?
 – 
Romeo Ninov
10 Дек 2021 в 10:13
Какие "метрики" вам нужны? ваш модуль является пространством имен PID, поэтому, по сути, все, что работает за пределами этого пространства имен, работает и внутри него.
 – 
Marcus Müller
10 Дек 2021 в 11:52

1 ответ

Прочтите официальную документацию по докеру: https://docs.docker.com/config/containers/runmetrics/

И простой пример с одним запущенным контейнером в системе Linux:

Проверьте версию cgroup в вашей системе:

[root@me ~]# stat /sys/fs/cgroup -f | grep Type:
    ID: 231088ed884bbbd7 Namelen: 255     Type: tmpfs

tmpfs eq cgroup v1

Найдите pid контейнера с помощью утилиты ps:

[root@me ~]# ps -e -o pid,ppid,pidns,comm | sort -k3,3 -u -r
    PID    PPID      PIDNS COMMAN
 581250  581246 4026532638 bash
  1       0 4026531836 system

Затем найдите слайс systemd для этого pid:

[root@me ~]# systemd-cgls -l --no-pager | grep -E '|581250'
└─machine.slice 
  ├─libpod-b8f9a94888b51533c7179cd10781b5a72181e965e09075577e60c5b76ccde2bd.scope …
  │ └─581250 /bin/bash

После этого перейдите в cgroup fs и проверьте, что вы хотите:

[root@me ~]# ls  /sys/fs/cgroup/cpu/machine.slice/libpod-b8f9a94888b51533c7179cd10781b5a72181e965e09075577e60c5b76ccde2bd.scope/
cgroup.clone_children  cpuacct.stat   cpuacct.usage_all     cpuacct.usage_percpu_sys   cpuacct.usage_sys   cpu.cfs_burst_us   cpu.cfs_quota_us  cpu.stat           tasks
cgroup.procs           cpuacct.usage  cpuacct.usage_percpu  cpuacct.usage_percpu_user  cpuacct.usage_user  cpu.cfs_period_us  cpu.shares        notify_on_release
[root@me ~]# cat /sys/fs/cgroup/cpu/machine.slice/libpod-b8f9a94888b51533c7179cd10781b5a72181e965e09075577e60c5b76ccde2bd.scope/cpuacct.stat
user 126
system 18
0
spybull 9 Янв 2022 в 09:51