diff --git a/study/debug/tools/perfetto/README.md b/study/debug/tools/perfetto/README.md index 42a0c38..b91c485 100755 --- a/study/debug/tools/perfetto/README.md +++ b/study/debug/tools/perfetto/README.md @@ -8,7 +8,7 @@ tags: - linux - debug categories: - - scheduler + - 内核探秘 thumbnail: blogexcerpt:
Perfetto 工具是 Android 下一代全新的统一的 trace 收集和分析框架, 在 Android 9.0(API级别28)或更高版本的设备上, 可以使用 System Tracing 的 System App 在设备上记录系统跟踪, 可以抓取平台和app的 trace 信息, 是用来取代 systrace 的, 但 systrace 由于历史原因也还会一直存在, 并且 Perfetto 抓取的 trace 文件也可以同样转换成 systrace 视图. diff --git a/study/debug/tools/systrace/README.md b/study/debug/tools/systrace/README.md index 6c9d2ba..304a5ab 100755 --- a/study/debug/tools/systrace/README.md +++ b/study/debug/tools/systrace/README.md @@ -8,7 +8,7 @@ tags: - linux - debug categories: - - scheduler + - 内核探秘 thumbnail: blogexcerpt:
笔者在日常内核性能优化的工作中, 主要涉及 终端(Android) 和 服务器(Server) 和 嵌入式 (RTOS) 等多个场景, 在终端场景下做内核开发和调度优化的时候, 经常会使用 atrace、systrace 等工具, 在惊叹于 google 的技术能力, 也时长在想这些工具是否可以用于服务器以及嵌入式领域.

使用 systrace 可以抓取到 sched、irq 以及帧的信息, 帧的信息我们服务器和嵌入式领域肯定是不会有的, 但是 sched、irq 等信息, 对于服务器领域也同样有意义. 如果能够在这些场景使用 systrace, 对于我们性能调优是有重大意义的. diff --git a/study/debug/tools/topdown/pmu-tools/README.md b/study/debug/tools/topdown/pmu-tools/README.md index 50f58f2..1662cfb 100755 --- a/study/debug/tools/topdown/pmu-tools/README.md +++ b/study/debug/tools/topdown/pmu-tools/README.md @@ -8,7 +8,7 @@ tags: - linux - topdown categories: - - debug + - 技术积累 thumbnail: blogexcerpt: 这篇文章旨在帮助希望更好地分析其应用程序中性能瓶颈的人们. 有许多现有的方法可以进行性能分析, 但其中没有很多方法既健壮又正式. 而 TOPDOWN 则为大家进行软硬协同分析提供了无限可能. 本文通过 pmu-tools 入手帮助大家进行 TOPDOWN 分析. diff --git a/study/kernel/01-process/05-schedule/07-cfs/08-wake_affine/README.md b/study/kernel/01-process/05-schedule/07-cfs/08-wake_affine/README.md index d2163f1..1f9653b 100755 --- a/study/kernel/01-process/05-schedule/07-cfs/08-wake_affine/README.md +++ b/study/kernel/01-process/05-schedule/07-cfs/08-wake_affine/README.md @@ -6,7 +6,7 @@ tags: - kernel - scheduler categories: - - scheduler + - 内核探秘 thumbnail: blogexcerpt: 在进程唤醒的过程中为进程选核时, wake_affine 倾向于将被唤醒进程尽可能安排在 waking CPU 上, 这样考虑的原因是, 有唤醒关系的进程是相互关联的, 尽可能地运行在具有 cache 共享的调度域中, 这样可以获得一些 chache-hit 带来的性能提升. 这时 wake_affine 的初衷, 但是这也是一把双刃剑.