We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent ece231c commit 39c60b1Copy full SHA for 39c60b1
docs/ops/debug.md
@@ -753,6 +753,12 @@ tcpdump -ni eth0 host 8.8.8.8
753
754
火焰图按照函数调用栈的方式竖向展示程序的执行情况,底部是调用栈的最外层,每个条的宽度代表对应的函数执行的 CPU 比例。于是,越宽的条就代表了对应的函数(以及其调用的函数)占用的 CPU 时间越多。可以点击感兴趣的函数来「专注」于这个函数内部的调用栈。
755
756
+!!! note "为什么要分析「热点」?"
757
+
758
+ 阿姆达尔定律(Amdahl's Law)指出,如果某个部分的执行时间占总体的比重大,那么优化这个部分(热点)就能显著提升整体性能;相反,如果某部分所占的时间比例很小,即使优化得再多,对整体性能提升也十分有限。
759
760
+ 例如,如果某个程序的 90% 时间都花在了函数 A 上,那么对函数 A 的优化,即使只提升 10% 的性能,也能让整体性能提升 9.9%;但如果函数 B 只占用了 1% 的时间,即使让函数 B 提升了 99% 的性能,整体性能也只能提升不到 1%。
761
762
SVG 火焰图由 [Brendan Gregg 的 FlameGraph](https://github.com/brendangregg/FlameGraph) 项目生成,其支持包括 `perf` 在内的多种性能分析工具的输出。以下以 `perf` 为例介绍。
763
764
首先 clone FlameGraph 仓库,然后使用 `perf record` 命令对程序采样:
0 commit comments