diff --git a/TOC.md b/TOC.md
index 4ef73af8f0682..58bc4f8197253 100644
--- a/TOC.md
+++ b/TOC.md
@@ -787,6 +787,8 @@
- [`INSPECTION_RULES`](/information-schema/information-schema-inspection-rules.md)
- [`INSPECTION_SUMMARY`](/information-schema/information-schema-inspection-summary.md)
- [`KEY_COLUMN_USAGE`](/information-schema/information-schema-key-column-usage.md)
+ - [`MEMORY_USAGE`](/information-schema/information-schema-memory-usage.md)
+ - [`MEMORY_USAGE_OPS_HISTORY`](/information-schema/information-schema-memory-usage-ops-history.md)
- [`METRICS_SUMMARY`](/information-schema/information-schema-metrics-summary.md)
- [`METRICS_TABLES`](/information-schema/information-schema-metrics-tables.md)
- [`PARTITIONS`](/information-schema/information-schema-partitions.md)
diff --git a/configure-memory-usage.md b/configure-memory-usage.md
index 1a276298ef247..f289176d0271f 100644
--- a/configure-memory-usage.md
+++ b/configure-memory-usage.md
@@ -56,6 +56,41 @@ In this configuration, when the memory usage of a tidb-server instance reaches 3
> + `server-memory-quota` is still an experimental feature. It is **NOT** recommended that you use it in a production environment.
> + The default value of `server-memory-quota` is `0`, which means no memory limit.
+Since v6.4.0, you can use the system variable [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-new-in-v640) to set the threshold for the memory usage of a tidb-server instance.
+
+For example, set the total memory usage of a tidb-server instance to 32 GB:
+
+```sql
+SET GLOBAL tidb_server_memory_limit = "32GB";
+```
+
+After you set this variable, when the memory usage of a tidb-server instance reaches 32 GB, TiDB will terminate the SQL operation with the largest memory usage among all running SQL operations in order, until the memory usage of the instance drops below 32 GB. The forcibly terminated SQL operation will return the `Out Of Memory Quota!` error to the client.
+
+Currently, the memory limit set by `tidb_server_memory_limit` **DOES NOT** terminate the following SQL operations:
+
+- DDL operations
+- INSERT, UPDATE, and DELETE operations
+- SQL operations that contain window functions and common table expressions
+
+> **Warning:**
+>
+> + The global memory control of tidb-server instances is still an experimental feature. It is not recommended to use it in the production environment.
+> + During the startup process, TiDB does not guarantee that the [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-new-in-v640) limit is enforced. If the free memory of the operating system is insufficient, TiDB might still encounter OOM. You need to ensure that the TiDB instance has enough available memory.
+> + In the process of memory control, the total memory usage of TiDB might slightly exceed the limit set by `tidb_server_memory_limit`.
+> + To ensure compatibility, when `tidb_server_memory_limit` is enabled, the system ignores the `server-memory-quota` value and uses `tidb_server_memory_limit` memory control mechanism. When `tidb_server_memory_limit` is disabled, the system uses the `server-memory-quota` value to control the memory usage of the tidb-server instance.
+
+When the memory usage of a tidb-server instance reaches a certain proportion of the total memory (the proportion is controlled by the system variable [`tidb_server_memory_limit_gc_trigger`](/system-variables.md#tidb_server_memory_limit_gc_trigger-new-in-v640)), tidb-server will try to trigger a Golang GC to relieve memory stress. To avoid frequent GCs that cause performance issues due to the instance memory fluctuating around the threshold, this GC method will trigger GC at most once every minute.
+
+## View the memory usage of the current tidb-server instance using the INFORMATION_SCHEMA system table
+
+> **Warning:**
+>
+> The following system tables are introduced in v6.4.0. Currently, these tables are still experimental. The memory usage information provided is only for reference. It is not recommended to use the following system tables in a production environment to obtain memory usage information for decision-making.
+
+To view the memory usage of the current instance or cluster, you can query the system table [`INFORMATION_SCHEMA.(CLUSTER_)MEMORY_USAGE`](/information-schema/information-schema-memory-usage.md).
+
+To view the memory-related operations and execution basis of the current instance or cluster, you can query the system table [`INFORMATION_SCHEMA.(CLUSTER_)MEMORY_USAGE_OPS_HISTORY`](/information-schema/information-schema-memory-usage-ops-history.md). For each instance, this table retains the latest 50 records.
+
## Trigger the alarm of excessive memory usage
In the default configuration, a tidb-server instance prints an alarm log and records related status files when the machine memory usage reaches 80% of its total memory. You can set the memory usage ratio threshold by configuring the system variable [`tidb_memory_usage_alarm_ratio`](/system-variables.md#tidb_memory_usage_alarm_ratio). For detailed alarm rules, refer to the description of `tidb_memory_usage_alarm_ratio`.
diff --git a/experimental-features.md b/experimental-features.md
index 1e8e86d6e90b4..d7b27842898e3 100644
--- a/experimental-features.md
+++ b/experimental-features.md
@@ -17,6 +17,7 @@ This document introduces the experimental features of TiDB in different versions
+ [FastScan](/develop/dev-guide-use-fastscan.md). (Introduced in v6.2.0)
+ [Extended statistics](/extended-statistics.md). (Introduced in v5.0.0)
+ [Randomly sample about 10000 rows of data to quickly build statistics](/system-variables.md#tidb_enable_fast_analyze) (Introduced in v3.0)
++ [Globally control the memory usage of a tidb-server instance](/configure-memory-usage.md#configure-the-memory-usage-threshold-of-a-tidb-server-instance). (Introduced in v6.4.0)
## Stability
diff --git a/information-schema/information-schema-memory-usage-ops-history.md b/information-schema/information-schema-memory-usage-ops-history.md
new file mode 100644
index 0000000000000..73d8be6f57a32
--- /dev/null
+++ b/information-schema/information-schema-memory-usage-ops-history.md
@@ -0,0 +1,63 @@
+---
+title: MEMORY_USAGE_OPS_HISTORY
+summary: Learn the `MEMORY_USAGE_OPS_HISTORY` information_schema system table.
+---
+
+# MEMORY_USAGE_OPS_HISTORY
+
+The `MEMORY_USAGE_OPS_HISTORY` table describes the history of memory-related operations and the execution basis of the current TiDB instance.
+
+```sql
+USE information_schema;
+DESC memory_usage_ops_history;
+```
+
+```sql
++----------------+---------------------+------+------+---------+-------+
+| Field | Type | Null | Key | Default | Extra |
++----------------+---------------------+------+------+---------+-------+
+| TIME | datetime | NO | | NULL | |
+| OPS | varchar(20) | NO | | NULL | |
+| MEMORY_LIMIT | bigint(21) | NO | | NULL | |
+| MEMORY_CURRENT | bigint(21) | NO | | NULL | |
+| PROCESSID | bigint(21) unsigned | YES | | NULL | |
+| MEM | bigint(21) unsigned | YES | | NULL | |
+| DISK | bigint(21) unsigned | YES | | NULL | |
+| CLIENT | varchar(64) | YES | | NULL | |
+| DB | varchar(64) | YES | | NULL | |
+| USER | varchar(16) | YES | | NULL | |
+| SQL_DIGEST | varchar(64) | YES | | NULL | |
+| SQL_TEXT | varchar(256) | YES | | NULL | |
++----------------+---------------------+------+------+---------+-------+
+12 rows in set (0.000 sec)
+```
+
+{{< copyable "sql" >}}
+
+```sql
+SELECT * FROM information_schema.memory_usage_ops_history;
+```
+
+```sql
++---------------------+-------------+--------------+----------------+---------------------+------------+------+-----------------+------+------+------------------------------------------------------------------+----------------------------------------------------------------------+
+| TIME | OPS | MEMORY_LIMIT | MEMORY_CURRENT | PROCESSID | MEM | DISK | CLIENT | DB | USER | SQL_DIGEST | SQL_TEXT |
++---------------------+-------------+--------------+----------------+---------------------+------------+------+-----------------+------+------+------------------------------------------------------------------+----------------------------------------------------------------------+
+| 2022-10-17 22:46:25 | SessionKill | 10737418240 | 10880237568 | 6718275530455515543 | 7905028235 | 0 | 127.0.0.1:34394 | test | root | 146b3d812852663a20635fbcf02be01688f52c8d433dafec0d496a14f0b59df6 | desc analyze select * from t t1 join t t2 on t1.a=t2.a order by t1.a |
++---------------------+-------------+--------------+----------------+---------------------+------------+------+-----------------+------+------+------------------------------------------------------------------+----------------------------------------------------------------------+
+2 rows in set (0.002 sec)
+```
+
+The columns in the `MEMORY_USAGE_OPS_HISTORY` table are described as follows:
+
+* `TIME`: The timestamp when the session is terminated.
+* `OPS`: "SessionKill"
+* `MEMORY_LIMIT`: The memory usage limit of TiDB at the time of termination, in bytes. Its value is the same as that of the system variable `tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-new-in-v640).
+* `MEMORY_CURRENT`: The current memory usage of TiDB, in bytes.
+* `PROCESSID`: The connection ID of the terminated session.
+* `MEM`: The memory usage of the terminated session, in bytes.
+* `DISK`: The disk usage of the terminated session, in bytes.
+* `CLIENT`: The client connection address of the terminated session.
+* `DB`: The name of the database connected to the terminated session.
+* `USER`: The user name of the terminated session.
+* `SQL_DIGEST`: The digest of the SQL statement being executed in the terminated session.
+* `SQL_TEXT`: The SQL statement being executed in the terminated session.
diff --git a/information-schema/information-schema-memory-usage.md b/information-schema/information-schema-memory-usage.md
new file mode 100644
index 0000000000000..63cb732f698d1
--- /dev/null
+++ b/information-schema/information-schema-memory-usage.md
@@ -0,0 +1,61 @@
+---
+title: MEMORY_USAGE
+summary: Learn the `MEMORY_USAGE` information_schema system table.
+---
+
+# MEMORY_USAGE
+
+The `MEMORY_USAGE` table describes the current memory usage of the current TiDB instance.
+
+```sql
+USE information_schema;
+DESC memory_usage;
+```
+
+```sql
++--------------------+-------------+------+------+---------+-------+
+| Field | Type | Null | Key | Default | Extra |
++--------------------+-------------+------+------+---------+-------+
+| MEMORY_TOTAL | bigint(21) | NO | | NULL | |
+| MEMORY_LIMIT | bigint(21) | NO | | NULL | |
+| MEMORY_CURRENT | bigint(21) | NO | | NULL | |
+| MEMORY_MAX_USED | bigint(21) | NO | | NULL | |
+| CURRENT_OPS | varchar(50) | YES | | NULL | |
+| SESSION_KILL_LAST | datetime | YES | | NULL | |
+| SESSION_KILL_TOTAL | bigint(21) | NO | | NULL | |
+| GC_LAST | datetime | YES | | NULL | |
+| GC_TOTAL | bigint(21) | NO | | NULL | |
+| DISK_USAGE | bigint(21) | NO | | NULL | |
+| QUERY_FORCE_DISK | bigint(21) | NO | | NULL | |
++--------------------+-------------+------+------+---------+-------+
+11 rows in set (0.000 sec)
+```
+
+{{< copyable "sql" >}}
+
+```sql
+SELECT * FROM information_schema.memory_usage;
+```
+
+```sql
++--------------+--------------+----------------+-----------------+-------------+---------------------+--------------------+---------------------+----------+------------+------------------+
+| MEMORY_TOTAL | MEMORY_LIMIT | MEMORY_CURRENT | MEMORY_MAX_USED | CURRENT_OPS | SESSION_KILL_LAST | SESSION_KILL_TOTAL | GC_LAST | GC_TOTAL | DISK_USAGE | QUERY_FORCE_DISK |
++--------------+--------------+----------------+-----------------+-------------+---------------------+--------------------+---------------------+----------+------------+------------------+
+| 33674170368 | 10737418240 | 5097644032 | 10826604544 | NULL | 2022-10-17 22:47:47 | 1 | 2022-10-17 22:47:47 | 20 | 0 | 0 |
++--------------+--------------+----------------+-----------------+-------------+---------------------+--------------------+---------------------+----------+------------+------------------+
+2 rows in set (0.002 sec)
+```
+
+The columns in the `MEMORY_USAGE` table are described as follows:
+
+* MEMORY_TOTAL: The total available memory of TiDB, in bytes.
+* MEMORY_LIMIT: The memory usage limit of TiDB, in bytes. The value is the same as that of the system variable [`tidb_server_memory_limit`](/system-variables.md#tidb_server_memory_limit-new-in-v640).
+* MEMORY_CURRENT: The current memory usage of TiDB, in bytes.
+* MEMORY_MAX_USED: The maximum memory usage of TiDB from the time it is started to the current time, in bytes.
+* CURRENT_OPS: "shrinking" | null. "shrinking" means that TiDB is performing operations that shrink memory usage.
+* SESSION_KILL_LAST: The timestamp of the last time a session is terminated.
+* SESSION_KILL_TOTAL: The number of times sessions are terminated, from the time TiDB is started to the current time.
+* GC_LAST: The timestamp of the last time Golang GC is triggered by memory usage.
+* GC_TOTAL: The number of times Golang GC is triggered by memory usage, from the time TiDB is started to the current time.
+* DISK_USAGE: The disk usage for the current data spill operation, in bytes.
+* QUERY_FORCE_DISK: The number of times data is spilled to disk, from the time TiDB is started to the current time.
diff --git a/information-schema/information-schema.md b/information-schema/information-schema.md
index 9de069b813062..f10da32da2c25 100644
--- a/information-schema/information-schema.md
+++ b/information-schema/information-schema.md
@@ -93,6 +93,58 @@ Many `INFORMATION_SCHEMA` tables have a corresponding `SHOW` command. The benefi
## Tables that are TiDB extensions
+
+
+| Table Name | Description |
+|-----------------------------------------------------------------------------------------|-------------|
+| [`ANALYZE_STATUS`](/information-schema/information-schema-analyze-status.md) | Provides information about tasks to collect statistics. |
+| [`CLIENT_ERRORS_SUMMARY_BY_HOST`](/information-schema/client-errors-summary-by-host.md) | Provides a summary of errors and warnings generated by client requests and returned to clients. |
+| [`CLIENT_ERRORS_SUMMARY_BY_USER`](/information-schema/client-errors-summary-by-user.md) | Provides a summary of errors and warnings generated by clients. |
+| [`CLIENT_ERRORS_SUMMARY_GLOBAL`](/information-schema/client-errors-summary-global.md) | Provides a summary of errors and warnings generated by clients. |
+| [`CLUSTER_CONFIG`](https://docs.pingcap.com/tidb/stable/information-schema-cluster-config) | Provides details about configuration settings for the entire TiDB cluster. This table is not applicable to TiDB Cloud. |
+| `CLUSTER_DEADLOCKS` | Provides a cluster-level view of the `DEADLOCKS` table. |
+| [`CLUSTER_HARDWARE`](https://docs.pingcap.com/tidb/stable/information-schema-cluster-hardware) | Provides details on the underlying physical hardware discovered on each TiDB component. This table is not applicable to TiDB Cloud. |
+| [`CLUSTER_INFO`](/information-schema/information-schema-cluster-info.md) | Provides details on the current cluster topology. |
+| [`CLUSTER_LOAD`](https://docs.pingcap.com/tidb/stable/information-schema-cluster-load) | Provides current load information for TiDB servers in the cluster. This table is not applicable to TiDB Cloud. |
+| [`CLUSTER_LOG`](https://docs.pingcap.com/tidb/stable/information-schema-cluster-log) | Provides a log for the entire TiDB cluster. This table is not applicable to TiDB Cloud. |
+| `CLUSTER_MEMORY_USAGE` | Provides a cluster-level view of the `MEMORY_USAGE` table. This table is not applicable to TiDB Cloud. |
+| `CLUSTER_MEMORY_USAGE_OPS_HISTORY` | Provides a cluster-level view of the `MEMORY_USAGE_OPS_HISTORY` table. This table is not applicable to TiDB Cloud. |
+| `CLUSTER_PROCESSLIST` | Provides a cluster-level view of the `PROCESSLIST` table. |
+| `CLUSTER_SLOW_QUERY` | Provides a cluster-level view of the `SLOW_QUERY` table. |
+| `CLUSTER_STATEMENTS_SUMMARY` | Provides a cluster-level view of the `STATEMENTS_SUMMARY` table. |
+| `CLUSTER_STATEMENTS_SUMMARY_HISTORY` | Provides a cluster-level view of the `STATEMENTS_SUMMARY_HISTORY` table. |
+| `CLUSTER_TIDB_TRX` | Provides a cluster-level view of the `TIDB_TRX` table. |
+| [`CLUSTER_SYSTEMINFO`](https://docs.pingcap.com/tidb/stable/information-schema-cluster-systeminfo) | Provides details about kernel parameter configuration for servers in the cluster. This table is not applicable to TiDB Cloud. |
+| [`DATA_LOCK_WAITS`](/information-schema/information-schema-data-lock-waits.md) | Provides the lock-waiting information on the TiKV server. |
+| [`DDL_JOBS`](/information-schema/information-schema-ddl-jobs.md) | Provides similar output to `ADMIN SHOW DDL JOBS` |
+| [`DEADLOCKS`](/information-schema/information-schema-deadlocks.md) | Provides the information of several deadlock errors that have recently occurred. |
+| [`INSPECTION_RESULT`](https://docs.pingcap.com/tidb/stable/information-schema-inspection-result) | Triggers internal diagnostics checks. This table is not applicable to TiDB Cloud. |
+| [`INSPECTION_RULES`](https://docs.pingcap.com/tidb/stable/information-schema-inspection-rules) | A list of internal diagnostic checks performed. This table is not applicable to TiDB Cloud. |
+| [`INSPECTION_SUMMARY`](https://docs.pingcap.com/tidb/stable/information-schema-inspection-summary) | A summarized report of important monitoring metrics. This table is not applicable to TiDB Cloud. |
+| [`MEMORY_USAGE`](/information-schema/information-schema-memory-usage.md) | The memory usage of the current TiDB instance. This table is not applicable to TiDB Cloud. |
+| [`MEMORY_USAGE_OPS_HISTORY`](/information-schema/information-schema-memory-usage-ops-history.md) | The history of memory-related operations and the execution basis of the current TiDB instance. This table is not applicable to TiDB Cloud. |
+| [`METRICS_SUMMARY`](https://docs.pingcap.com/tidb/stable/information-schema-metrics-summary) | A summary of metrics extracted from Prometheus. This table is not applicable to TiDB Cloud. |
+| `METRICS_SUMMARY_BY_LABEL` | See `METRICS_SUMMARY` table. |
+| [`METRICS_TABLES`](https://docs.pingcap.com/tidb/stable/information-schema-metrics-tables) | Provides the PromQL definitions for tables in `METRICS_SCHEMA`. This table is not applicable to TiDB Cloud. |
+| [`PLACEMENT_POLICIES`](https://docs.pingcap.com/tidb/stable/information-schema-placement-policies) | Provides information on all placement policies. This table is not applicable to TiDB Cloud. |
+| [`SEQUENCES`](/information-schema/information-schema-sequences.md) | The TiDB implementation of sequences is based on MariaDB. |
+| [`SLOW_QUERY`](/information-schema/information-schema-slow-query.md) | Provides information on slow queries on the current TiDB server. |
+| [`STATEMENTS_SUMMARY`](/statement-summary-tables.md) | Similar to performance_schema statement summary in MySQL. |
+| [`STATEMENTS_SUMMARY_HISTORY`](/statement-summary-tables.md) | Similar to performance_schema statement summary history in MySQL. |
+| [`TABLE_STORAGE_STATS`](/information-schema/information-schema-table-storage-stats.md) | Provides details about table sizes in storage. |
+| [`TIDB_HOT_REGIONS`](https://docs.pingcap.com/tidb/stable/information-schema-tidb-hot-regions) | Provides statistics about which regions are hot. This table is not applicable to TiDB Cloud. |
+| [`TIDB_HOT_REGIONS_HISTORY`](/information-schema/information-schema-tidb-hot-regions-history.md) | Provides history statistics about which Regions are hot. |
+| [`TIDB_INDEXES`](/information-schema/information-schema-tidb-indexes.md) | Provides index information about TiDB tables. |
+| [`TIDB_SERVERS_INFO`](/information-schema/information-schema-tidb-servers-info.md) | Provides a list of TiDB servers (namely, tidb-server component) |
+| [`TIDB_TRX`](/information-schema/information-schema-tidb-trx.md) | Provides the information of the transactions that are being executed on the TiDB node. |
+| [`TIFLASH_REPLICA`](/information-schema/information-schema-tiflash-replica.md) | Provides details about TiFlash replicas. |
+| [`TIKV_REGION_PEERS`](/information-schema/information-schema-tikv-region-peers.md) | Provides details about where regions are stored. |
+| [`TIKV_REGION_STATUS`](/information-schema/information-schema-tikv-region-status.md) | Provides statistics about regions. |
+| [`TIKV_STORE_STATUS`](/information-schema/information-schema-tikv-store-status.md) | Provides basic information about TiKV servers. |
+
+
+
+
| Table Name | Description |
|-----------------------------------------------------------------------------------------|-------------|
| [`ANALYZE_STATUS`](/information-schema/information-schema-analyze-status.md) | Provides information about tasks to collect statistics. |
@@ -135,3 +187,5 @@ Many `INFORMATION_SCHEMA` tables have a corresponding `SHOW` command. The benefi
| [`TIKV_REGION_PEERS`](/information-schema/information-schema-tikv-region-peers.md) | Provides details about where regions are stored. |
| [`TIKV_REGION_STATUS`](/information-schema/information-schema-tikv-region-status.md) | Provides statistics about regions. |
| [`TIKV_STORE_STATUS`](/information-schema/information-schema-tikv-store-status.md) | Provides basic information about TiKV servers. |
+
+
diff --git a/system-variables.md b/system-variables.md
index d4c176fce260c..665774e1b8f5e 100644
--- a/system-variables.md
+++ b/system-variables.md
@@ -3185,6 +3185,46 @@ explain select * from t where age=5;
- By default, Regions are split for a new table when it is being created in TiDB. After this variable is enabled, the newly split Regions are scattered immediately during the execution of the `CREATE TABLE` statement. This applies to the scenario where data need to be written in batches right after the tables are created in batches, because the newly split Regions can be scattered in TiKV beforehand and do not have to wait to be scheduled by PD. To ensure the continuous stability of writing data in batches, the `CREATE TABLE` statement returns success only after the Regions are successfully scattered. This makes the statement's execution time multiple times longer than that when you disable this variable.
- Note that if `SHARD_ROW_ID_BITS` and `PRE_SPLIT_REGIONS` have been set when a table is created, the specified number of Regions are evenly split after the table creation.
+### tidb_server_memory_limit New in v6.4.0
+
+> **Warning:**
+>
+> Currently, `tidb_server_memory_limit` is still experimental. It is not recommended to use it in the production environment.
+
+- Scope: GLOBAL
+- Persists to cluster: Yes
+- Default value: `0`
+- Range:
+ - You can set the value in the percentage format, which means the percentage of the memory usage relative to the total memory. The value range is `[1%, 99%]`.
+ - You can also set the value in memory size in bytes. The value range is `[0, 9223372036854775807]`. The memory format with the units "KB|MB|GB|TB" is supported. The `0` value means no memory limit.
+- This variable specifies the memory limit for a TiDB instance. When the memory usage of TiDB reaches the limit, TiDB cancels the currently running SQL statement with the highest memory usage. After the SQL statement is successfully canceled, TiDB tries to call Golang GC to immediately reclaim memory to relieve memory stress as soon as possible.
+- Only the SQL statements with more memory usage than the [`tidb_server_memory_limit_sess_min_size`](/system-variables.md#tidb_server_memory_limit_sess_min_size-new-in-v640) limit are selected as the SQL statements to be canceled first.
+- Currently, TiDB cancels only one SQL statement at a time. After TiDB completely cancels a SQL statement and recovers resources, if the memory usage is still greater than the limit set by this variable, TiDB starts the next cancel operation.
+
+### tidb_server_memory_limit_gc_trigger New in v6.4.0
+
+> **Warning:**
+>
+> Currently, `tidb_server_memory_limit_gc_trigger` is still experimental. It is not recommended to use it in the production environment.
+
+- Scope: GLOBAL
+- Persists to cluster: Yes
+- Default value: `70%`
+- Range: `[50%, 99%]`
+- The threshold at which TiDB tries to trigger GC. When the memory usage of TiDB reaches the value of `tidb_server_memory_limit` \* the value of `tidb_server_memory_limit_gc_trigger`, TiDB will actively trigger a Golang GC operation. Only one GC operation will be triggered in one minute.
+
+### tidb_server_memory_limit_sess_min_size New in v6.4.0
+
+> **Warning:**
+>
+> Currently, `tidb_server_memory_limit_sess_min_size` is still experimental. It is not recommended to use it in the production environment.
+
+- Scope: GLOBAL
+- Persists to cluster: Yes
+- Default value: `134217728` (which is 128 MB)
+- Range: `[128, 9223372036854775807]`, in bytes
+- After you enable the memory limit, TiDB will terminate the SQL statement with the highest memory usage on the current instance. This variable specifies the minimum memory usage of the SQL statement to be terminated. If the memory usage of a TiDB instance that exceeds the limit is caused by too many sessions with low memory usage, you can properly lower the value of this variable to allow more sessions to be canceled.
+
### tidb_shard_allocate_step New in v5.0
- Scope: SESSION | GLOBAL