我试图弄清楚我在Linux系统(具体来说是RHEL 6)上加载共享库要花多少时间,而且我想知道有什么类型的工具可以确定共享库加载需要多长时间。关于如何执行此操作,我还没有真正找到任何好的信息,我希望可以使用某种工具。

最佳答案

您应该在LD_DEBUG=statistics下运行:

$ LD_DEBUG=statistics ls > /dev/null
      9897:
      9897:     runtime linker statistics:
      9897:       total startup time in dynamic loader: 1557664 clock cycles
      9897:                 time needed for relocation: 322049 clock cycles (20.6%)
      9897:                      number of relocations: 156
      9897:           number of relocations from cache: 8
      9897:             number of relative relocations: 1257
      9897:                time needed to load objects: 1037549 clock cycles (66.6%)

10-08 11:37