• perf 是怎么计算调用栈的时间的?


    在我真个malloc的执行过程中共调用了8次的syswrite的系统调用,其中有两次来自于__lib_write, 两次来自于__memmove_avx_unaligned,然后__memmove_avx_unaligned中有两次是来自于funca,有两次是来自于funb,所以在总共的8次调用中,有两次是来自于funcb,有两次来自于funca.

    这里并不是一个时间的关系呢;

    Samples: 8  of event 'syscalls:sys_enter_write, Event count (approx.): 8
      Children      Self  Command  Shared Object     Symbol                                                                                       ▒
    -  100.00%   100.00%  malloc   malloc            [.] __libc_write                                                                             ▒
       - 25.00% 0xa3437                                                                                                                           ▒
            __libc_write                                                                                                                          ▒
       - 25.00% 0x860f20f983483fe1                                                                                                                ▒
            __memmove_avx_unaligned                                                                                                               ▒
            generic_start_main                                                                                                                    ▒
          - main                                                                                                                                  ▒
             - 12.50% funcb                                                                                                                       ▒
                  func1                                                                                                                           ▒
                  func2                                                                                                                           ▒
                  func3                                                                                                                           ▒
                  __libc_write                                                                                                                    ▒
             - 12.50% funca                                                                                                                       ▒
                  func1                                                                                                                           ▒
                  func2                                                                                                                           ▒
                  func3                                                                                                                           ▒
                  __libc_write                                                                                                                    ▒
       - 25.00% 0xa3031300a3437                                                                                                                   ▒
            __libc_write                                                                                                                          ▒
       - 12.50% 0xa303130353532                                                                                                                   ▒
            __libc_write                                                                                                                          ▒
       - 12.50% 0xa303130343132                                                                                                                   ▒
            __libc_write                                                                                                                          ▒
    +   25.00%     0.00%  malloc   malloc            [.] func3                                                                                    ◆
    +   25.00%     0.00%  malloc   [unknown]         [.] 0x00000000000a3437                                                                       ▒
    +   25.00%     0.00%  malloc   [unknown]         [.] 0x000a3031300a3437                                                                       ▒
    +   25.00%     0.00%  malloc   malloc            [.] func2                                                                                    ▒
    +   25.00%     0.00%  malloc   malloc            [.] func1                                                                                    ▒
    +   25.00%     0.00%  malloc   malloc            [.] main                                                                                     ▒
    +   25.00%     0.00%  malloc   malloc            [.] generic_start_main                                                                       ▒
    +   25.00%     0.00%  malloc   malloc            [.] __memmove_avx_unaligned                                                                  ▒
    +   25.00%     0.00%  malloc   [unknown]         [.] 0x860f20f983483fe1                                                                       ▒
    +   12.50%     0.00%  malloc   [unknown]         [.] 0x000a303130343132                                                                       ▒
    +   12.50%     0.00%  malloc   [unknown]         [.] 0x000a303130353532                                                                       ▒
    +   12.50%     0.00%  malloc   malloc            [.] funca                                                                                    ▒
    +   12.50%     0.00%  malloc   malloc            [.] funcb                                                                                    ▒
                                                                                                                                                  ▒
                                                                                                                                                  ▒
      
    

     为了能够更加精确地看到软件事件的发生,我们选择一个比较生僻的系统调用来观察 perf_event_open

  • 相关阅读:
    pytorch torchversion标准化数据
    pytorch 中HWC转CHW
    pytorch torchversion自带的数据集
    pytorch Dataset数据集和Dataloader迭代数据集
    pytorch Model Linear实现线性回归CUDA版本
    pytorch实现手动线性回归
    pytorch中的前项计算和反向传播
    pytorch中CUDA类型的转换
    pytorch中tensor的属性 类型转换 形状变换 转置 最大值
    LightOJ 1074 spfa判断负环
  • 原文地址:https://www.cnblogs.com/honpey/p/9119837.html
Copyright © 2020-2023  润新知