Skip to content

Commit

Permalink
Added introduction version description (pingcap#5131)
Browse files Browse the repository at this point in the history
* Added introduction version description

* fix broken anchors

Co-authored-by: TomShawn <41534398+TomShawn@users.noreply.github.com>
  • Loading branch information
glkappe and TomShawn authored Dec 21, 2020
1 parent f3fdf28 commit 7021e55
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
8 changes: 4 additions & 4 deletions configure-memory-usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ set @@tidb_mem_quota_query = 8 << 10;

## 如何配置 tidb-server 实例使用内存的阈值

可以在配置文件中设置 tidb-server 实例的内存使用阈值。相关配置项为 [`server-memory-quota`](/tidb-configuration-file.md#server-memory-quota)
可以在配置文件中设置 tidb-server 实例的内存使用阈值。相关配置项为 [`server-memory-quota`](/tidb-configuration-file.md#server-memory-quota-从-v409-版本开始引入)

例如,配置 tidb-server 实例的内存使用总量,将其设置成为 32 GB:

Expand All @@ -88,7 +88,7 @@ server-memory-quota = 34359738368
## tidb-server 内存占用过高时的报警

默认配置下,tidb-server 实例会在机器内存使用达到总内存量的 80% 时打印报警日志,并记录相关状态文件。该内存使用率可以通过配置项 [`memory-usage-alarm-ratio`](/tidb-configuration-file.md#memory-usage-alarm-ratio) 进行设置。具体报警规则请参考该配置项的说明部分。
默认配置下,tidb-server 实例会在机器内存使用达到总内存量的 80% 时打印报警日志,并记录相关状态文件。该内存使用率可以通过配置项 [`memory-usage-alarm-ratio`](/tidb-configuration-file.md#memory-usage-alarm-ratio-从-v409-版本开始引入) 进行设置。具体报警规则请参考该配置项的说明部分。

注意,当触发一次报警后,只有在内存使用率连续低于阈值超过 10 秒并再次达到阈值时,才会再次触发报警。此外,为避免报警时产生的状态文件积累过多,目前只会保留最近 5 次报警时所生成的状态文件。

Expand Down Expand Up @@ -116,11 +116,11 @@ server-memory-quota = 34359738368

以上 Log 字段的含义如下:

* `is server-memory-quota set`:表示配置项 [`server-memory-quota`](/tidb-configuration-file.md#server-memory-quota) 是否被设置
* `is server-memory-quota set`:表示配置项 [`server-memory-quota`](/tidb-configuration-file.md#server-memory-quota-从-v409-版本开始引入) 是否被设置
* `system memory total`:表示当前系统的总内存
* `system memory usage`:表示当前系统的内存使用量
* `tidb-server memory usage`:表示 tidb-server 实例的内存使用量
* `memory-usage-alarm-ratio`:表示配置项 [`memory-usage-alarm-ratio`](/tidb-configuration-file.md#memory-usage-alarm-ratio) 的值
* `memory-usage-alarm-ratio`:表示配置项 [`memory-usage-alarm-ratio`](/tidb-configuration-file.md#memory-usage-alarm-ratio-从-v409-版本开始引入) 的值
* `record path`:表示状态文件存放的目录

5. 通过访问状态文件所在目录(该示例中的目录为 `/tmp/1000_tidb/MC4wLjAuMDo0MDAwLzAuMC4wLjA6MTAwODA=/tmp-storage/record`),可以得到一组文件,其中包括 `goroutinue`、`heap`、`running_sql` 3 个文件,文件以记录状态文件的时间为后缀。这 3 个文件分别用来记录报警时的 goroutine 栈信息,堆内存使用状态,及正在运行的 SQL 信息。其中 `running_sql` 文件内的日志格式请参考 [`expensive-queries`](/identify-expensive-queries.md)。
4 changes: 2 additions & 2 deletions system-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -986,5 +986,5 @@ explain select * from t where age=5;

- 作用域:SESSION
- 默认值:0.8
- TiDB 内存使用占总内存的比例超过一定阈值时会报警。该功能的详细介绍和使用方法可以参考 [`memory-usage-alarm-ratio`](/tidb-configuration-file.md#memory-usage-alarm-ratio)。
- 该变量的初始值可通过 [`memory-usage-alarm-ratio`](/tidb-configuration-file.md#memory-usage-alarm-ratio) 进行配置。
- TiDB 内存使用占总内存的比例超过一定阈值时会报警。该功能的详细介绍和使用方法可以参考 [`memory-usage-alarm-ratio`](/tidb-configuration-file.md#memory-usage-alarm-ratio-从-v409-版本开始引入)。
- 该变量的初始值可通过 [`memory-usage-alarm-ratio`](/tidb-configuration-file.md#memory-usage-alarm-ratio-从-v409-版本开始引入) 进行配置。
6 changes: 3 additions & 3 deletions tidb-configuration-file.md
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ TiDB 配置文件比命令行参数支持更多的选项。你可以在 [config/
+ 默认值:0
+ 默认值为 0 表示使用机器上所有的 CPU;如果设置成 n,那么 TiDB 会使用 n 个 CPU 数量。

### `server-memory-quota`
### `server-memory-quota` <span class="version-mark">从 v4.0.9 版本开始引入</span>

> **警告:**
>
Expand All @@ -295,11 +295,11 @@ TiDB 配置文件比命令行参数支持更多的选项。你可以在 [config/
+ 默认值:0
+ 默认值为 0 表示无内存限制。

### `memory-usage-alarm-ratio`
### `memory-usage-alarm-ratio` <span class="version-mark">从 v4.0.9 版本开始引入</span>

+ tidb-server 实例内存使用占总内存的比例超过一定阈值时会报警。该配置项的有效范围为 `0``1`。如果配置该选项为 `0``1`,则表示关闭内存阈值报警功能。
+ 默认值:0.8
+ 当内存阈值报警功能开启时,如果配置项 [`server-memory-quota`](/tidb-configuration-file.md#server-memory-quota) 未设置,则内存报警阈值为 `memory-usage-alarm-ratio * 系统内存大小`;如果 `server-memory-quota` 被设置且大于 0,则内存报警阈值为 `memory-usage-alarm-ratio * server-memory-quota`
+ 当内存阈值报警功能开启时,如果配置项 [`server-memory-quota`](/tidb-configuration-file.md#server-memory-quota-从-v409-版本开始引入) 未设置,则内存报警阈值为 `memory-usage-alarm-ratio * 系统内存大小`;如果 `server-memory-quota` 被设置且大于 0,则内存报警阈值为 `memory-usage-alarm-ratio * server-memory-quota`
+ 当 TiDB 检测到 tidb-server 的内存使用超过了阈值,则会认为存在内存溢出的风险,会将当前正在执行的所有 SQL 语句中内存使用最高的 10 条语句和运行时间最长的 10 条语句以及 heap profile 记录到目录 [`tmp-storage-path/record`](/tidb-configuration-file.md#tmp-storage-path) 中,并输出一条包含关键字 `tidb-server has the risk of OOM` 的日志。
+ 该值作为系统变量 [`tidb_memory_usage_alarm_ratio`](/system-variables.md#tidb_memory_usage_alarm_ratio) 的初始值。

Expand Down

0 comments on commit 7021e55

Please sign in to comment.