diff --git a/docs/zh/02-ce-install/01-overview.md b/docs/zh/02-ce-install/01-overview.md index 7c668636..3688c531 100644 --- a/docs/zh/02-ce-install/01-overview.md +++ b/docs/zh/02-ce-install/01-overview.md @@ -28,21 +28,22 @@ permalink: /ce-install/overview # 运行权限及内核要求 DeepFlow 中的 eBPF 能力(AutoTracing、AutoProfiling)对内核版本的要求如下: -| 体系架构 | 发行版 | 内核版本 | kprobe [1] | Golang uprobe | OpenSSL uprobe | perf | -| -------- | ------ | ------- | ---------- | ------------- | -------------- | ---- | -| X86 | CentOS 7.9 | 3.10.0-940+ **[2]** | Y | Y **[3]** | Y **[3]** | Y | -| | RedHat 7.6 | 3.10.0-940+ **[2]** | Y | Y **[3]** | Y **[3]** | Y | -| | \* | 4.14 **[4]** | Y | Y **[3]** | | Y | -| | \* | 4.15 | Y | Y **[3]** | | Y | -| | \* | 4.16 | Y | Y | | Y | -| | \* | 4.17+ | Y | Y | Y | Y | -| | SUSE 12 SP5 | 4.12 [5] | Y | Y | | Y | -| ARM | CentOS 8 | 4.18 | Y | Y | Y | Y | -| | EulerOS | 5.10+ [6]| Y | Y | Y | Y | -| | 麒麟 KylinOS V10 SP1 | 4.19.90-23 [7] | Y | Y | Y | Y | -| | 麒麟 KylinOS V10 SP2 | 4.19.90-25.24+ [8] | Y | Y | Y | Y | -| | 麒麟 KylinOS V10 SP3 | 4.19.90-52.24+ | Y | Y | Y | Y | -| | 其他发行版 | 5.8+ | Y | Y | Y | Y | + +| 体系架构 | 发行版 | 内核版本 | kprobe [1] | Golang uprobe | OpenSSL uprobe | perf [9] | TCP Option Trace | CPU Balancer | +| -------- | ------ | -------- | ---------- | ------------- | -------------- | ---- | ---------------- | ------------ | +| X86 | CentOS 7.9 | 3.10.0-940+ **[2]** | Y | Y **[3]** | Y **[3]** | Y | | | +| | RedHat 7.6 | 3.10.0-940+ **[2]** | Y | Y **[3]** | Y **[3]** | Y | | | +| | \* | 4.14 **[4]** | Y | Y **[3]** | | Y | | | +| | \* | 4.15 | Y | Y **[3]** | | Y | | Y **[11]** | +| | \* | 4.16 | Y | Y | | Y | | Y **[11]** | +| | \* | 4.17+ | Y | Y | Y | Y | 5.10+ **[10]** | Y **[11]** | +| | SUSE 12 SP5 | 4.12 [5] | Y | Y | | Y | | | +| ARM | CentOS 8 | 4.18 | Y | Y | Y | Y | | Y **[11]** | +| | EulerOS | 5.10+ [6] | Y | Y | Y | Y | Y **[10]** | Y **[11]** | +| | 麒麟 KylinOS V10 SP1 | 4.19.90-23 [7] | Y | Y | Y | Y | | Y **[11]** | +| | 麒麟 KylinOS V10 SP2 | 4.19.90-25.24+ [8] | Y | Y | Y | Y | | Y **[11]** | +| | 麒麟 KylinOS V10 SP3 | 4.19.90-52.24+ | Y | Y | Y | Y | | Y **[11]** | +| | 其他发行版 | 5.8+ | Y | Y | Y | Y | 5.10+ **[10]** | Y **[11]** | 对内核版本的额外说明: @@ -63,6 +64,11 @@ DeepFlow 中的 eBPF 能力(AutoTracing、AutoProfiling)对内核版本的 - 4.19.90-vhulk2211.3.0.h1543.eulerosv2r10.aarch64 - [7]: 已验证 KylinOS V10 SP1 的部分 aarch64 内核(如 4.19.90-23.48.v2101.ky10.aarch64)可以正常运行 deepflow-agent,但不保证 KylinOS V10 SP1 的所有内核版本均能正常运行。 - [8]: KylinOS V10 SP2 某些内核如:4.19.90-24.4.v2101.ky10.aarch64 由于不支持 `bpf_probe_read_user()` 无法读取用户态的任何数据因而不支持 AutoTracing 功能,但可支持持续剖析和文件读写追踪功能。 +- [9]: `perf` 表示通用 eBPF Profiling 能力。其中,以下增强能力有额外的内核要求: + - DWARF 栈回溯(DWARF Unwind):支持 Linux 5.3+,以及 Kylin V10 SP3 v2207 的 `4.19.90-*.v2207.ky10.*` 白名单内核。 + - 解释器脚本函数栈展开(Node.js/V8、PHP、Lua、Python Profiling):支持 Linux 5.2+,以及 Kylin V10 SP3 v2207 的 `4.19.90-*.v2207.ky10.*` 白名单内核。 +- [10]: TCP Option Trace 要求 Linux 5.10+,并启用 cgroup v2。 +- [11]: CPU Balancer 要求 Linux 4.15+,且内核及网卡驱动支持 XDP,内核支持 CPUMAP。 deepflow-agent 运行权限的要求: diff --git a/docs/zh/05-features/04-continuous-profiling/01-auto-profiling.md b/docs/zh/05-features/04-continuous-profiling/01-auto-profiling.md index b6ee1e47..41cf16d6 100644 --- a/docs/zh/05-features/04-continuous-profiling/01-auto-profiling.md +++ b/docs/zh/05-features/04-continuous-profiling/01-auto-profiling.md @@ -50,6 +50,7 @@ permalink: /features/continuous-profiling/auto-profiling 说明: - `*`: features in development - `**`: 运行 Java 程序的 JVM 须有符号表,参考[检查方法](#jvm-符号表检查) +- 内核版本支持情况:请查看[运行权限及内核要求](../../ce-install/overview/#运行权限及内核要求)。 - 类型: - on-cpu:函数在 CPU 上消耗的时间 - off-cpu:函数等待 CPU 的时间 @@ -108,9 +109,9 @@ Off-CPU Profiling 功能**仅会**采集如下调用栈: 支持的 Java Profiling 数据类型: -| 类型 | 支持语言/库 | 社区版 | 企业版 | -| ---- | ----------- | ------ | ------ | -| cpu | Java | | ✔ | +| 类型 | 支持语言/库 | 支持的内核版本 | 社区版 | 企业版 | +| ---- | ----------- | -------------- | ------ | ------ | +| cpu | Java | 推荐 Linux 4.14+ 或 CentOS/RedHat 3.10.0-940+ | | ✔ | 说明: - 类型: diff --git a/translate/translated/02-ce-install/01-overview.md b/translate/translated/02-ce-install/01-overview.md index 949f94e6..1a664ad0 100644 --- a/translate/translated/02-ce-install/01-overview.md +++ b/translate/translated/02-ce-install/01-overview.md @@ -29,21 +29,22 @@ If you currently do not have suitable resources to deploy DeepFlow, you can log # Running Permissions and Kernel Requirements The eBPF capabilities (AutoTracing, AutoProfiling) in DeepFlow have the following kernel version requirements: -| Architecture | Distribution | Kernel Version | kprobe [1] | Golang uprobe | OpenSSL uprobe | perf | -| -------- | ------ | ------- | ---------- | ------------- | -------------- | ---- | -| X86 | CentOS 7.9 | 3.10.0-940+ **[2]** | Y | Y **[3]** | Y **[3]** | Y | -| | RedHat 7.6 | 3.10.0-940+ **[2]** | Y | Y **[3]** | Y **[3]** | Y | -| | \* | 4.14 **[4]** | Y | Y **[3]** | | Y | -| | \* | 4.15 | Y | Y **[3]** | | Y | -| | \* | 4.16 | Y | Y | | Y | -| | \* | 4.17+ | Y | Y | Y | Y | -| | SUSE 12 SP5 | 4.12 [5] | Y | Y | | Y | -| ARM | CentOS 8 | 4.18 | Y | Y | Y | Y | -| | EulerOS | 5.10+ [6]| Y | Y | Y | Y | -| | KylinOS V10 SP1 | 4.19.90-23 [7] | Y | Y | Y | Y | -| | KylinOS V10 SP2 | 4.19.90-25.24+ [8] | Y | Y | Y | Y | -| | KylinOS V10 SP3 | 4.19.90-52.24+ | Y | Y | Y | Y | -| | Other Distributions | 5.8+ | Y | Y | Y | Y | + +| Architecture | Distribution | Kernel Version | kprobe [1] | Golang uprobe | OpenSSL uprobe | perf [9] | TCP Option Trace | CPU Balancer | +| ------------ | ------------ | -------------- | ---------- | ------------- | -------------- | ---- | ---------------- | ------------ | +| X86 | CentOS 7.9 | 3.10.0-940+ **[2]** | Y | Y **[3]** | Y **[3]** | Y | | | +| | RedHat 7.6 | 3.10.0-940+ **[2]** | Y | Y **[3]** | Y **[3]** | Y | | | +| | \* | 4.14 **[4]** | Y | Y **[3]** | | Y | | | +| | \* | 4.15 | Y | Y **[3]** | | Y | | Y **[11]** | +| | \* | 4.16 | Y | Y | | Y | | Y **[11]** | +| | \* | 4.17+ | Y | Y | Y | Y | 5.10+ **[10]** | Y **[11]** | +| | SUSE 12 SP5 | 4.12 [5] | Y | Y | | Y | | | +| ARM | CentOS 8 | 4.18 | Y | Y | Y | Y | | Y **[11]** | +| | EulerOS | 5.10+ [6] | Y | Y | Y | Y | Y **[10]** | Y **[11]** | +| | KylinOS V10 SP1 | 4.19.90-23 [7] | Y | Y | Y | Y | | Y **[11]** | +| | KylinOS V10 SP2 | 4.19.90-25.24+ [8] | Y | Y | Y | Y | | Y **[11]** | +| | KylinOS V10 SP3 | 4.19.90-52.24+ | Y | Y | Y | Y | | Y **[11]** | +| | Other Distributions | 5.8+ | Y | Y | Y | Y | 5.10+ **[10]** | Y **[11]** | Additional notes on kernel versions: @@ -64,6 +65,11 @@ Additional notes on kernel versions: - 4.19.90-vhulk2211.3.0.h1543.eulerosv2r10.aarch64 - [7]: Some aarch64 kernels of KylinOS V10 SP1 (e.g., 4.19.90-23.48.v2101.ky10.aarch64) have been verified to run deepflow-agent correctly. However, not all kernel versions of KylinOS V10 SP1 are guaranteed to be compatible. - [8]: Some kernels of KylinOS V10 SP2, such as 4.19.90-24.4.v2101.ky10.aarch64, do not support `bpf_probe_read_user()` and cannot read any user-space data, thus not supporting AutoTracing functionality, but can support continuous profiling and file read/write tracing functions. +- [9]: `perf` indicates the generic eBPF Profiling capability. The following enhanced capabilities have additional kernel requirements: + - DWARF stack unwinding: Linux 5.3 or later, or a whitelisted Kylin V10 SP3 v2207 kernel matching `4.19.90-*.v2207.ky10.*`. + - Interpreter-level script stack unwinding (Node.js/V8, PHP, Lua, and Python Profiling): Linux 5.2 or later, or a whitelisted Kylin V10 SP3 v2207 kernel matching `4.19.90-*.v2207.ky10.*`. +- [10]: TCP Option Trace requires Linux 5.10 or later with cgroup v2 enabled. +- [11]: CPU Balancer requires Linux 4.15 or later, XDP support from both the kernel and NIC driver, and kernel support for CPUMAP. Requirements for running permissions of deepflow-agent: diff --git a/translate/translated/05-features/04-continuous-profiling/01-auto-profiling.md b/translate/translated/05-features/04-continuous-profiling/01-auto-profiling.md index 1df0e8c0..61f58569 100644 --- a/translate/translated/05-features/04-continuous-profiling/01-auto-profiling.md +++ b/translate/translated/05-features/04-continuous-profiling/01-auto-profiling.md @@ -53,6 +53,7 @@ Notes: - `*`: features in development - `**`: The JVM running the Java program must have a symbol table. See the [check method](#jvm-symbol-table-check). +- For supported kernel versions, see [Running Permissions and Kernel Requirements](../../ce-install/overview/#running-permissions-and-kernel-requirements). - Types: - on-cpu: Time a function spends on the CPU - off-cpu: Time a function waits for the CPU @@ -111,9 +112,9 @@ The Off-CPU profiling feature **only** collects the following call stacks: Supported Java Profiling data types: -| Type | Supported Language/Library | Community Edition | Enterprise Edition | -| ---- | -------------------------- | ----------------- | ------------------ | -| cpu | Java | | ✔ | +| Type | Supported Language/Library | Supported Kernel Versions | Community Edition | Enterprise Edition | +| ---- | -------------------------- | ------------------------- | ----------------- | ------------------ | +| cpu | Java | Linux 4.14+ or CentOS/RedHat 3.10.0-940+ recommended | | ✔ | Notes: