pmc-cloud-tools icon indicating copy to clipboard operation
pmc-cloud-tools copied to clipboard

pmc-cloud-tools can't be used in k8s worker node

Open chaoshwu opened this issue 1 year ago • 0 comments

HI, i try to use the pmc cloud tools to check the performance issue in my k8s worker node, but seems the worker nodes doesn't support it, could you help review and provide some suggestions? thanks.

it works in compute

Performance counter stats for 'sleep 1':

      0.69 msec task-clock                       #    0.001 CPUs utilized             
         1      context-switches                 #    1.446 K/sec                     
         0      cpu-migrations                   #    0.000 /sec                      
       175      page-faults                      #  252.976 K/sec                     
 1,440,998      cycles                           #    2.083 GHz                       
   780,218      instructions                     #    0.54  insn per cycle            
   152,536      branches                         #  220.503 M/sec                     
     7,169      branch-misses                    #    4.70% of all branches           

  1.002242560 seconds time elapsed

  0.000000000 seconds user
  0.002007000 seconds sys

one example:

compute-205-8-1 ~]# ./pmc-cloud-tools-master/pmcarch
 K_CYCLES   K_INSTR      IPC BR_RETIRED   BR_MISPRED  BMR% LLCREF      LLCMISS     LLC%
18215142   15155790    0.83 3086984568   27051306    0.88 149647788   14286326   90.45
18694421   15878877    0.85 3252902583   27742819    0.85 151033667   14121333   90.65
18353039   15331153    0.84 3127338178   27591171    0.88 150433721   13644983   90.93
17913093   14870389    0.83 3044521196   27157109    0.89 146226102   13718501   90.62
      

while in k8s worker node, nothing output:

worker-1 ~]# ./pmc-cloud-tools-master/pmcarch K_CYCLES K_INSTR IPC BR_RETIRED BR_MISPRED BMR% LLCREF LLCMISS LLC%

the reason seems due to some counters not supported in k8s worker node.

perf stat sleep 1

           Performance counter stats for 'sleep 1':

          0.86 msec task-clock                #    0.001 CPUs utilized          
             1      context-switches          #    1.158 K/sec                  
             1      cpu-migrations            #    1.158 K/sec                  
            64      page-faults               #   74.092 K/sec                  
            <not supported>      cycles                                                      
            <not supported>      instructions                                                
            <not supported>      branches                                                    
            <not supported>      branch-misses                                               

            1.002282918 seconds time elapsed

           0.002162000 seconds user
           0.000000000 seconds sys

the k8s worker is deployed in one compute, with suse cat /etc/os-release NAME="SLES" VERSION="15-SP4" VERSION_ID="15.4"

while, the compute is deployed with centos.

compute-205-8-1 ~]# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos"

chaoshwu avatar Nov 07 '23 02:11 chaoshwu