perf отслеживает док-контейнер, не учитываемый

Я хочу использовать 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

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

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


person Lin Lingfeng    schedule 07.06.2018    source источник


Ответы (1)


Не подходит для использования --cgroup=. Я должен профилировать идентификатор процесса с помощью -p, чтобы отслеживать конкретный процесс.

person Lin Lingfeng    schedule 11.07.2018