perf контролирует док-контейнер не учитывается - PullRequest
0 голосов
/ 07 июня 2018

Я хочу использовать perf для наблюдения за док-контейнером с:

$sudo perf stat -e cycles -a -I 1000 -o out.txt --cgroup=docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95 sleep 5

, однако он не может считать циклы в out.txt:

 1 # started on Thu Jun  7 22:49:34 2018
  2 
  3 #           time             counts unit events
  4      1.000224074      <not counted>      cycles                    docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95
  5      2.000515835      <not counted>      cycles                    docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95
  6      3.000805321      <not counted>      cycles                    docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95
  7      4.001008437      <not counted>      cycles                    docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95
  8      5.001234875      <not counted>      cycles                    docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95

И мониторинг несколькихсобытия, такие как:

$sudo perf stat -e cycles,instructions -a -I 1000 -o out2.txt --cgroup=docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95,docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95 sleep 5

Получил тот же результат в out2.txt:

  1 # started on Thu Jun  7 23:23:15 2018
  2 
  3 #           time             counts unit events
  4      1.000326390      <not counted>      cycles                    docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95
  5      1.000326390      <not counted>      instructions              docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95
  6      2.000665181      <not counted>      cycles                    docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95
  7      2.000665181      <not counted>      instructions              docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95
  8      3.000979419      <not counted>      cycles                    docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95
  9      3.000979419      <not counted>      instructions              docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95
 10      4.001281621      <not counted>      cycles                    docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95
 11      4.001281621      <not counted>      instructions              docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95
 12      5.001233401      <not counted>      cycles                    docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95
 13      5.001233401      <not counted>      instructions              docker/c04e4686d0195f9863112983e472ec7b519642bf4cfd3856f327d02e05047f95

Как подсчитать циклы для контейнера Docker?

Я смотрюat Отслеживание событий производительности Linux для cgroups и kubelet не удается получить статистику cgroup для служб докеров и kubelet .

1 Ответ

0 голосов
/ 11 июля 2018

Не подходит для использования --cgroup=.Я должен профилировать идентификатор процесса с -p для мониторинга конкретного процесса.

...