This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git
The following commit(s) were added to refs/heads/master by this push:
new b2355918e08 [doc] Refactor memory docs 2 (#1045)
b2355918e08 is described below
commit b2355918e08ff7b16a3f8bc67b8bf12dc98f3cc8
Author: Xinyi Zou <[email protected]>
AuthorDate: Sat Aug 24 09:17:49 2024 +0800
[doc] Refactor memory docs 2 (#1045)
---
.../doris-cache-memory-analysis.md | 49 ++++++++++------------
.../global-memory-analysis.md | 0
.../heap-profile-memory-analysis.md | 0
.../jemalloc-memory-analysis.md | 0
.../{ => memory-analysis}/load-memory-analysis.md | 0
.../{ => memory-analysis}/memory-log-analysis.md | 0
.../metadata-memory-analysis.md | 0
.../{ => memory-analysis}/oom-crash-analysis.md | 0
...uery-cancelled-after-process-memory-exceeded.md | 2 +-
.../query-cancelled-after-query-memory-exceeded.md | 2 +-
.../{ => memory-analysis}/query-memory-analysis.md | 0
.../memory-control-strategy.md | 0
.../{ => memory-feature}/memory-tracker.md | 0
.../memory-management/memory-issue-faq.md | 2 +-
docs/admin-manual/memory-management/overview.md | 17 +++++---
.../docusaurus-plugin-content-docs/current.json | 8 ++++
.../doris-cache-memory-analysis.md | 38 ++++++++---------
.../memory-analysis}/global-memory-analysis.md | 4 +-
.../heap-profile-memory-analysis.md | 0
.../jemalloc-memory-analysis.md | 0
.../{ => memory-analysis}/load-memory-analysis.md | 0
.../{ => memory-analysis}/memory-log-analysis.md | 0
.../memory-analysis}/metadata-memory-analysis.md | 2 +-
.../{ => memory-analysis}/oom-crash-analysis.md | 0
...uery-cancelled-after-process-memory-exceeded.md | 2 +-
.../query-cancelled-after-query-memory-exceeded.md | 2 +-
.../{ => memory-analysis}/query-memory-analysis.md | 0
.../memory-control-strategy.md | 0
.../memory-feature}/memory-tracker.md | 2 +-
.../memory-management/memory-issue-faq.md | 2 +-
.../admin-manual/memory-management/overview.md | 19 +++++----
.../version-2.1.json | 8 ++++
.../doris-cache-memory-analysis.md | 38 ++++++++---------
.../memory-analysis}/global-memory-analysis.md | 4 +-
.../heap-profile-memory-analysis.md | 0
.../jemalloc-memory-analysis.md | 0
.../{ => memory-analysis}/load-memory-analysis.md | 0
.../{ => memory-analysis}/memory-log-analysis.md | 0
.../memory-analysis}/metadata-memory-analysis.md | 2 +-
.../{ => memory-analysis}/oom-crash-analysis.md | 0
...uery-cancelled-after-process-memory-exceeded.md | 2 +-
.../query-cancelled-after-query-memory-exceeded.md | 2 +-
.../{ => memory-analysis}/query-memory-analysis.md | 0
.../memory-control-strategy.md | 0
.../memory-feature}/memory-tracker.md | 2 +-
.../memory-management/memory-issue-faq.md | 2 +-
.../admin-manual/memory-management/overview.md | 19 +++++----
.../version-3.0.json | 8 ++++
.../doris-cache-memory-analysis.md | 38 ++++++++---------
.../memory-analysis}/global-memory-analysis.md | 4 +-
.../heap-profile-memory-analysis.md | 0
.../jemalloc-memory-analysis.md | 0
.../{ => memory-analysis}/load-memory-analysis.md | 0
.../{ => memory-analysis}/memory-log-analysis.md | 0
.../memory-analysis}/metadata-memory-analysis.md | 2 +-
.../{ => memory-analysis}/oom-crash-analysis.md | 0
...uery-cancelled-after-process-memory-exceeded.md | 2 +-
.../query-cancelled-after-query-memory-exceeded.md | 2 +-
.../{ => memory-analysis}/query-memory-analysis.md | 0
.../memory-control-strategy.md | 0
.../memory-feature}/memory-tracker.md | 2 +-
.../memory-management/memory-issue-faq.md | 2 +-
.../admin-manual/memory-management/overview.md | 19 +++++----
sidebars.json | 40 +++++++++++-------
.../doris-cache-memory-analysis.md | 49 ++++++++++------------
.../global-memory-analysis.md | 0
.../heap-profile-memory-analysis.md | 0
.../jemalloc-memory-analysis.md | 0
.../{ => memory-analysis}/load-memory-analysis.md | 0
.../{ => memory-analysis}/memory-log-analysis.md | 0
.../metadata-memory-analysis.md | 0
.../{ => memory-analysis}/oom-crash-analysis.md | 0
...uery-cancelled-after-process-memory-exceeded.md | 2 +-
.../query-cancelled-after-query-memory-exceeded.md | 2 +-
.../{ => memory-analysis}/query-memory-analysis.md | 0
.../memory-control-strategy.md | 0
.../{ => memory-feature}/memory-tracker.md | 0
.../memory-management/memory-issue-faq.md | 2 +-
.../admin-manual/memory-management/overview.md | 17 +++++---
.../doris-cache-memory-analysis.md | 49 ++++++++++------------
.../global-memory-analysis.md | 0
.../heap-profile-memory-analysis.md | 0
.../jemalloc-memory-analysis.md | 0
.../{ => memory-analysis}/load-memory-analysis.md | 0
.../{ => memory-analysis}/memory-log-analysis.md | 0
.../metadata-memory-analysis.md | 0
.../{ => memory-analysis}/oom-crash-analysis.md | 0
...uery-cancelled-after-process-memory-exceeded.md | 2 +-
.../query-cancelled-after-query-memory-exceeded.md | 2 +-
.../{ => memory-analysis}/query-memory-analysis.md | 0
.../memory-control-strategy.md | 0
.../{ => memory-feature}/memory-tracker.md | 0
.../memory-management/memory-issue-faq.md | 2 +-
.../admin-manual/memory-management/overview.md | 17 +++++---
versioned_sidebars/version-2.1-sidebars.json | 40 +++++++++++-------
versioned_sidebars/version-3.0-sidebars.json | 40 +++++++++++-------
96 files changed, 321 insertions(+), 252 deletions(-)
diff --git a/docs/admin-manual/memory-management/doris-cache-memory-analysis.md
b/docs/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
similarity index 92%
rename from docs/admin-manual/memory-management/doris-cache-memory-analysis.md
rename to
docs/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
index 38cb7fb9803..90141a1efe9 100644
--- a/docs/admin-manual/memory-management/doris-cache-memory-analysis.md
+++
b/docs/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
@@ -1,6 +1,6 @@
---
{
- "title": "Doris Cache Memory Analysis",
+ "title": "Cache Memory Analysis",
"language": "zh-CN"
}
---
@@ -32,59 +32,60 @@ The caches managed by Doris are currently all LRU
elimination strategies, and al
Used to speed up data scanning.
+```
- DataPageCache: Cache data Page.
-
-- IndexPageCache: Cache the index of data Page.
-
-- PKIndexPageCache: Cache the primary key index of Page.
+- IndexPageCache: Cache data Page index.
+- PKIndexPageCache: Cache Page primary key index.
+```
2. Metadata Cache
Used to speed up metadata reading.
-- SegmentCache: Cache the opened Segment, such as index information.
-
+```
+- SegmentCache: Cache open Segments, such as index information.
- SchemaCache: Cache Rowset Schema.
-
- TabletSchemaCache: Cache Tablet Schema.
-
-- CreateTabletRRIdxCache: Cache Create Tabelt Index.
-
+- CreateTabletRRIdxCache: Cache Create Tabelt index.
- MowTabletVersionCache: Cache Mow Tablet Version.
-
- MowDeleteBitmapAggCache: Cache Mow DeleteBitmap.
+```
3. Cloud Cache
A dedicated cache on the cloud.
-- CloudTabletCache: Cache Tablet on Cloud.
-
+```
+- CloudTabletCache: Cache Tablet on the Cloud.
- CloudTxnDeleteBitmapCache: Cache DeleteBitmap on Cloud.
+```
4. Inverted Index Cache
Speed up inverted index.
+```
- InvertedIndexSearcherCache
-
- InvertedIndexQueryCache
+```
5. Point Query Cache
Speed up point query execution, mainly used for log analysis.
+```
- PointQueryRowCache
-
- PointQueryLookupConnectionCache
+```
6. Other Cache
-- FileCache: File cache used by external table query and Cloud.
+```
+- FileCache: File cache used by external table queries and Cloud.
- CommonObjLRUCache
-
- LastSuccessChannelCache
+```
## Doris Cache View Method
@@ -94,19 +95,15 @@ There are three ways to view Doris Cache related indicators.
Web page `http://http://{be_host}:{be_web_server_port}/metrics` can see BE
process memory monitoring (Metrics), including each cache capacity, usage,
number of elements, search and hit times and other indicators.
+```
- `doris_be_cache_capacity{name="TabletSchemaCache"} 102400`: Cache capacity,
two limiting methods: memory size or number of elements.
-
-- `doris_be_cache_usage{name="TabletSchemaCache"} 40838`: Cache usage, memory
size or number of elements, corresponding to the cache capacity limit.
-
+- `doris_be_cache_usage{name="TabletSchemaCache"} 40838`: Cache usage, memory
size or number of elements, corresponding to the limit of cache capacity.
- `doris_be_cache_usage_ratio{name="TabletSchemaCache"} 0.398809`: Cache
usage, equal to `(cache_usage / cache_capacity)`.
-
- `doris_be_cache_element_count{name="TabletSchemaCache"} 1628`: Number of
cache elements, equal to Cache Usage when the cache capacity limits the number
of elements.
-
- `doris_be_cache_lookup_count{name="TabletSchemaCache"} 63393`: Number of
cache lookups.
-
-- `doris_be_cache_hit_count{name="TabletSchemaCache"} 61765`: Number of cache
hits when looking up.
-
+- `doris_be_cache_hit_count{name="TabletSchemaCache"} 61765`: Number of hits
when looking up the cache.
- `doris_be_cache_hit_ratio{name="TabletSchemaCache"} 0.974319`: Hit ratio,
equal to `(hit_count / lookup_count)`
+```
2. Doris BE Bvar
diff --git a/docs/admin-manual/memory-management/global-memory-analysis.md
b/docs/admin-manual/memory-management/memory-analysis/global-memory-analysis.md
similarity index 100%
rename from docs/admin-manual/memory-management/global-memory-analysis.md
rename to
docs/admin-manual/memory-management/memory-analysis/global-memory-analysis.md
diff --git
a/docs/admin-manual/memory-management/heap-profile-memory-analysis.md
b/docs/admin-manual/memory-management/memory-analysis/heap-profile-memory-analysis.md
similarity index 100%
rename from docs/admin-manual/memory-management/heap-profile-memory-analysis.md
rename to
docs/admin-manual/memory-management/memory-analysis/heap-profile-memory-analysis.md
diff --git a/docs/admin-manual/memory-management/jemalloc-memory-analysis.md
b/docs/admin-manual/memory-management/memory-analysis/jemalloc-memory-analysis.md
similarity index 100%
rename from docs/admin-manual/memory-management/jemalloc-memory-analysis.md
rename to
docs/admin-manual/memory-management/memory-analysis/jemalloc-memory-analysis.md
diff --git a/docs/admin-manual/memory-management/load-memory-analysis.md
b/docs/admin-manual/memory-management/memory-analysis/load-memory-analysis.md
similarity index 100%
rename from docs/admin-manual/memory-management/load-memory-analysis.md
rename to
docs/admin-manual/memory-management/memory-analysis/load-memory-analysis.md
diff --git a/docs/admin-manual/memory-management/memory-log-analysis.md
b/docs/admin-manual/memory-management/memory-analysis/memory-log-analysis.md
similarity index 100%
rename from docs/admin-manual/memory-management/memory-log-analysis.md
rename to
docs/admin-manual/memory-management/memory-analysis/memory-log-analysis.md
diff --git a/docs/admin-manual/memory-management/metadata-memory-analysis.md
b/docs/admin-manual/memory-management/memory-analysis/metadata-memory-analysis.md
similarity index 100%
rename from docs/admin-manual/memory-management/metadata-memory-analysis.md
rename to
docs/admin-manual/memory-management/memory-analysis/metadata-memory-analysis.md
diff --git a/docs/admin-manual/memory-management/oom-crash-analysis.md
b/docs/admin-manual/memory-management/memory-analysis/oom-crash-analysis.md
similarity index 100%
rename from docs/admin-manual/memory-management/oom-crash-analysis.md
rename to
docs/admin-manual/memory-management/memory-analysis/oom-crash-analysis.md
diff --git
a/versioned_docs/version-2.1/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
b/docs/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
similarity index 99%
rename from
versioned_docs/version-2.1/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
rename to
docs/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
index 4016abce903..546e921a3a6 100644
---
a/versioned_docs/version-2.1/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
+++
b/docs/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
@@ -1,6 +1,6 @@
---
{
- "title": "Query Cancelled After Process Memory Exceeded",
+ "title": "Query error Process Memory Not Enough",
"language": "zh-CN"
}
---
diff --git
a/versioned_docs/version-2.1/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
b/docs/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
similarity index 99%
rename from
versioned_docs/version-2.1/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
rename to
docs/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
index d0860572cfa..28ba92e1e81 100644
---
a/versioned_docs/version-2.1/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
+++
b/docs/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
@@ -1,6 +1,6 @@
---
{
- "title": "Query Cancelled After Query Memory Exceeded",
+ "title": "Query error Memory Tracker Limit Exceeded",
"language": "zh-CN"
}
---
diff --git a/docs/admin-manual/memory-management/query-memory-analysis.md
b/docs/admin-manual/memory-management/memory-analysis/query-memory-analysis.md
similarity index 100%
rename from docs/admin-manual/memory-management/query-memory-analysis.md
rename to
docs/admin-manual/memory-management/memory-analysis/query-memory-analysis.md
diff --git a/docs/admin-manual/memory-management/memory-control-strategy.md
b/docs/admin-manual/memory-management/memory-feature/memory-control-strategy.md
similarity index 100%
rename from docs/admin-manual/memory-management/memory-control-strategy.md
rename to
docs/admin-manual/memory-management/memory-feature/memory-control-strategy.md
diff --git a/docs/admin-manual/memory-management/memory-tracker.md
b/docs/admin-manual/memory-management/memory-feature/memory-tracker.md
similarity index 100%
rename from docs/admin-manual/memory-management/memory-tracker.md
rename to docs/admin-manual/memory-management/memory-feature/memory-tracker.md
diff --git a/docs/admin-manual/memory-management/memory-issue-faq.md
b/docs/admin-manual/memory-management/memory-issue-faq.md
index 61ea431e84f..f790fc78ff0 100644
--- a/docs/admin-manual/memory-management/memory-issue-faq.md
+++ b/docs/admin-manual/memory-management/memory-issue-faq.md
@@ -82,7 +82,7 @@ This is usually because the metadata memory loaded when the
BE process starts is
- If `tablet_meta_schema_columns_count` is too large, hundreds or thousands of
times larger than `doris_total_tablet_schema_num`, it means that there are
large wide tables with hundreds or thousands of columns in the cluster. At this
time, the same number of tablets will occupy more memory.
-### 7 Query does not have complex operators but simply scans data, but it uses
a lot of memory
+## 7 Query does not have complex operators but simply scans data, but it uses
a lot of memory
It may be the memory occupied by the Column Reader and Index Read opened when
reading the Segment. Refer to [Metadata Memory
Analysis](./metadata-memory-analysis.md) to view the changes of
`doris_total_segment_num`, `doris_column_reader_num`,
`doris_ordinal_index_memory_bytes`, `doris_zone_map_memory_bytes`, and
`doris_short_key_index_memory_bytes` in Doris BE Bvar. This phenomenon is also
common when reading large wide tables. When hundreds of thousands of Column
Readers are opened, the [...]
diff --git a/docs/admin-manual/memory-management/overview.md
b/docs/admin-manual/memory-management/overview.md
index e812d6ab66a..a97c51f3b62 100644
--- a/docs/admin-manual/memory-management/overview.md
+++ b/docs/admin-manual/memory-management/overview.md
@@ -34,6 +34,7 @@ When facing complex calculations and large-scale operations
with huge memory res

+```
Server physical memory: The physical memory used by all processes on the
server, MemTotal seen by `cat /proc/meminfo` or `free -h`.
|
|---> Linux Kernel Memory And Other Process Memory: Memory used by the
Linux kernel and other processes.
@@ -65,6 +66,7 @@ Server physical memory: The physical memory used by all
processes on the server,
| | |---> fragment: Same as query fragment
execution, stream load usually only has scan operator.
| | |
| | |---> channel: The tablet channel writes
data to a temporary data structure called memtable, and then the delta writer
compresses the data and writes it to the file.
+```
---
@@ -83,15 +85,10 @@ Memory Tracker is divided into different types. Among the
Memory Tracker of type
Memory Tracker has the following properties:
1. Label: the name of the Memory Tracker
-
2. Current Consumption(Bytes): the current memory value, in B.
-
3. Current Consumption(Normalize): the .G.M.K formatted output of the current
memory value.
-
4. Peak Consumption (Bytes): The peak memory value after the BE process is
started, in units of B, and reset after the BE is restarted.
-
5. Peak Consumption (Normalize): The .G.M.K formatted output of the peak
memory value after the BE process is started, and reset after the BE is
restarted.
-
6. Parent Label: Used to indicate the parent-child relationship between two
memory trackers. The memory recorded by the Child Tracker is a subset of the
Parent Tracker. The memory recorded by different trackers with the same Parent
may have an intersection.
For more information about Memory Tracker, refer to [Memory
Tracker](./memory-tracker.md).
@@ -104,10 +101,13 @@ Historical memory statistics can be viewed through Doris
BE's Bvar page `http://
When the error process memory exceeds the limit or the available memory is
insufficient, you can find the `Memory Tracker Summary` in the `be/log/be.INFO`
log, which contains all the Memory Trackers of `Type=overview` and
`Type=global`, to help users analyze the memory status at that time. For
details, please refer to [Memory Log Analysis](./memory-log-analysis.md)
+---
+
## Memory Analysis
Correspond the Memory Tracker of `type=overview` to each part of the memory
under `tracked` in the above memory structure:
+```
Doris BE Process Memory
|
|---> tracked: corresponds to `MemTrackerLimiter Label=sum of all
trackers, Type=overview`, which is all the memory counted by the Memory
Tracker, that is, the sum of the Current Consumption of other Memory Trackers
with `type=overview` except `Label=process resident memory` and `Label=process
virtual memory`.
@@ -138,6 +138,7 @@ Doris BE Process Memory
|---> Doris BE process physical memory, corresponding to
`MemTrackerLimiter Label=process resident memory, Type=overview`, Current
Consumption is taken from VmRSS in `/proc/self/status`, Peak Consumption is
taken from VmHWM in `/proc/self/status`.
|
|---> Doris BE process virtual memory, corresponding to `MemTrackerLimiter
Label=process virtual memory, Type=overview`, Current Consumption is taken from
VmSize in `/proc/self/status`, and Peak Consumption is taken from VmPeak in
`/proc/self/status`.
+```
Analysis methods for each part of the memory in the above memory structure:
@@ -149,10 +150,14 @@ Analysis methods for each part of the memory in the above
memory structure:
4. [Load memory analysis](./load-memory-analysis.md)
+---
+
## Memory problem FAQ
Refer to [Memory problem FAQ](./memory-issue-faq.md) to analyze common memory
problems.
+---
+
## Memory control strategy
-Refer to [Memory control strategy](./memory-control-strategy.md) for an
introduction to memory allocation, monitoring, and recycling to ensure
efficient and controllable memory of the Doris BE process.
+Refer to [Memory Control Strategy](./memory-control-strategy.md) for an
introduction to memory allocation, monitoring, and recycling, which ensure the
efficient and controllable memory of the Doris BE process.
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current.json
b/i18n/zh-CN/docusaurus-plugin-content-docs/current.json
index 6d3ee8eea22..b7718b422aa 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current.json
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current.json
@@ -203,6 +203,14 @@
"message": "内存管理",
"description": "The label for category Managing Memory in sidebar docs"
},
+ "sidebar.docs.category.Managing Memory Analysis": {
+ "message": "内存分析",
+ "description": "The label for category Managing Memory Analysis in sidebar
docs"
+ },
+ "sidebar.docs.category.Managing Memory Feature": {
+ "message": "内存特性",
+ "description": "The label for category Managing Memory Feature in sidebar
docs"
+ },
"sidebar.docs.category.Log Management": {
"message": "日志管理",
"description": "The label for category Log Management in sidebar docs"
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/doris-cache-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
similarity index 94%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/doris-cache-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
index 4c123a009f4..5ab3f7e5444 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/doris-cache-memory-analysis.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
@@ -1,6 +1,6 @@
---
{
- "title": "Doris Cache 内存分析",
+ "title": "Cache 内存分析",
"language": "zh-CN"
}
---
@@ -32,59 +32,59 @@ Doris 自己管理的 Cache 目前均为 LRU 淘汰策略,均支持单独通
用于加速数据扫描。
+```
- DataPageCache: 缓存数据 Page。
-
- IndexPageCache: 缓存数据 Page 的索引。
-
- PKIndexPageCache: 缓存 Page 的主键索引。
+```
2. Metadata Cache
用于加速元数据读取。
+```
- SegmentCache: 缓存已打开的 Segment,如索引信息。
-
- SchemaCache: 缓存 Rowset Schema。
-
- TabletSchemaCache: 缓存 Tablet Schema。
-
- CreateTabletRRIdxCache: 缓存 Create Tabelt 索引。
-
- MowTabletVersionCache: 缓存 Mow Tablet Version。
-
- MowDeleteBitmapAggCache: 缓存 Mow DeleteBitmap。
+```
3. Cloud Cache
云上专用的缓存。
+```
- CloudTabletCache: Cloud 上缓存 Tablet。
-
- CloudTxnDeleteBitmapCache: Cloud 上缓存 DeleteBitmap。
+```
4. Inverted Index Cache
加速倒排索引。
+```
- InvertedIndexSearcherCache
-
- InvertedIndexQueryCache
+```
5. Point Query Cache
加速点查询执行,主要用于日志分析。
+```
- PointQueryRowCache
-
- PointQueryLookupConnectionCache
+```
6. Other Cache
+```
- FileCache: 外表查询和 Cloud 使用的文件缓存。
-
- CommonObjLRUCache
-
- LastSuccessChannelCache
+```
## Doris Cache 查看方法
@@ -94,19 +94,15 @@ Doris 自己管理的 Cache 目前均为 LRU 淘汰策略,均支持单独通
Web 页面 `http://http://{be_host}:{be_web_server_port}/metrics` 可以看到 BE
进程内存监控(Metrics),包括每个 Cache 的容量、使用率、元素个数、查找和命中次数等指标。
+```
- `doris_be_cache_capacity{name="TabletSchemaCache"} 102400`:Cache
容量,内存大小或者元素个数两种限制方法。
-
- `doris_be_cache_usage{name="TabletSchemaCache"} 40838`:Cache
使用量,内存大小或者元素个数,对应 Cache 容量的限制。
-
- `doris_be_cache_usage_ratio{name="TabletSchemaCache"} 0.398809`:Cache
使用率,等于`(cache_usage / cache_capacity)`。
-
- `doris_be_cache_element_count{name="TabletSchemaCache"} 1628`:Cache 元素个数,当
Cache 容量限制元素个数时等于 Cache Usage。
-
- `doris_be_cache_lookup_count{name="TabletSchemaCache"} 63393`:查找 Cache 的次数。
-
- `doris_be_cache_hit_count{name="TabletSchemaCache"} 61765`:查找 Cache 时命中的次数。
-
- `doris_be_cache_hit_ratio{name="TabletSchemaCache"}
0.974319`:命中率,等于`(hit_count / lookup_count)`
+```
2. Doris BE Bvar
@@ -116,9 +112,9 @@ Web 页面 `http://http://{be_host}:{brpc_port}/vars/*cache*`
可以看到部分
3. Memory Trakcer
-实时查看每个 Cache 占用内存大小,参考 [Global 内存分析](./global-memory-analysis.md),当存在内存报错时在
`be/log/be.INFO` 日志中可以找到 `Memory Tracker Summary` 中,其中包含当时的 Cache 内存大小。
+实时查看每个 Cache 占用内存大小,参考 [全局内存分析](./global-memory-analysis.md),当存在内存报错时在
`be/log/be.INFO` 日志中可以找到 `Memory Tracker Summary` 中,其中包含当时的 Cache 内存大小。
-## Doris Cache 内存分析
+## Cache 内存分析
Doris BE 运行时存在各种 Cache,通常无需关注 Cache 内存,因为在 BE 进程可用内存不足时会触发内存 GC 首先清理 Cache。
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/global-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/global-memory-analysis.md
similarity index 97%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/global-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/global-memory-analysis.md
index 05ed6721042..4b8cc52287d 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/global-memory-analysis.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/global-memory-analysis.md
@@ -1,6 +1,6 @@
---
{
- "title": "Global 内存分析",
+ "title": "全局内存分析",
"language": "zh-CN"
}
---
@@ -77,7 +77,7 @@ Global Memory Tracker `Label=global, Type=overview` 的值等于所有
`Type=glo
### Cache 分析方法
-参考 [Doris Cache 内存分析](./doris-cache-memory-analysis.md)
+参考 [Cache 内存分析](./doris-cache-memory-analysis.md)
### Metadata 分析方法
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/heap-profile-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/heap-profile-memory-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/heap-profile-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/heap-profile-memory-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/jemalloc-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/jemalloc-memory-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/jemalloc-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/jemalloc-memory-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/load-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/load-memory-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/load-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/load-memory-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-log-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/memory-log-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-log-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/memory-log-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/metadata-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/metadata-memory-analysis.md
similarity index 96%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/metadata-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/metadata-memory-analysis.md
index 9fd3de12d56..d825b41edb6 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/metadata-memory-analysis.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/metadata-memory-analysis.md
@@ -56,7 +56,7 @@ Web 页面 `http://http://{be_host}:{brpc_port}/vars` 可以看到 Bvar 统计
### Doris BE Metrics
-Web 页面 `http://http://{be_host}:{be_web_server_port}/metrics` 可以看到 BE
进程内存监(Metrics)中的一些元数据指标。其中 Metadata Cache 相关指标参考 [Doris Cache
内存分析](./doris-cache-memory-analysis.md)。
+Web 页面 `http://http://{be_host}:{be_web_server_port}/metrics` 可以看到 BE
进程内存监(Metrics)中的一些元数据指标。其中 Metadata Cache 相关指标参考 [Cache
内存分析](./doris-cache-memory-analysis.md)。
```
- `doris_be_all_rowsets_num`:所有 Rowset 的数量。
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/oom-crash-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/oom-crash-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/oom-crash-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/oom-crash-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
similarity index 99%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
index 5b34e25f105..2c64e1ffc27 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
@@ -1,6 +1,6 @@
---
{
- "title": "查询或导入报错进程可用内存不足",
+ "title": "查询报错 Process Memory Not Enough",
"language": "zh-CN"
}
---
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
similarity index 98%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
index 1ff9c134195..84d6c138b88 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
@@ -1,6 +1,6 @@
---
{
- "title": "查询或导入报错超过单次执行内存限制",
+ "title": "查询报错 Memory Tracker Limit Exceeded",
"language": "zh-CN"
}
---
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/query-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/query-memory-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/query-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-analysis/query-memory-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-control-strategy.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-feature/memory-control-strategy.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-control-strategy.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-feature/memory-control-strategy.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-tracker.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-feature/memory-tracker.md
similarity index 90%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-tracker.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-feature/memory-tracker.md
index 227764b213f..cf74f43d9c7 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-tracker.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-feature/memory-tracker.md
@@ -70,7 +70,7 @@ Doris 2.1 之前和之后的版本中 Memory Tracker 统计缺失的现象不同
否则可以先参考 [Metadata 内存分析](./metadata-memory-analysis.md) 分析 Doris BE 的元数据内存。
-> 在 Doris 2.1.5 之前的版本中 Segment Cache Memory Tacker 不准确,通常发现 Memory Tracker
统计缺失或 BE 进程内存不下降时,可以优先参考 [Doris Cache 内存分析](./doris-cache-memory-analysis.md)
分析 SegmentCache 内存使用,尝试关闭 Segment Cache 后继续测试。这是因为包括 Primary Key Index 在内的一些
Index 内存统计的是不准确的,导致 Segment Cache 内存没有得到有效限制,经常占用过大的内存,尤其是在成百上千列的大宽表上,参考
[Metadata 内存分析](./metadata-memory-analysis.md) 如果你发现 Doris BE Metrics 中
`doris_be_cache_usage{name="SegmentCache"}` 不大,但 Doris BE Bvar 中
`doris_column_reader_num` 很大,则需要怀疑 Segment Cache 的内存 [...]
+> 在 Doris 2.1.5 之前的版本中 Segment Cache Memory Tacker 不准确,通常发现 Memory Tracker
统计缺失或 BE 进程内存不下降时,可以优先参考 [Cache 内存分析](./doris-cache-memory-analysis.md) 分析
SegmentCache 内存使用,尝试关闭 Segment Cache 后继续测试。这是因为包括 Primary Key Index 在内的一些 Index
内存统计的是不准确的,导致 Segment Cache 内存没有得到有效限制,经常占用过大的内存,尤其是在成百上千列的大宽表上,参考 [Metadata
内存分析](./metadata-memory-analysis.md) 如果你发现 Doris BE Metrics 中
`doris_be_cache_usage{name="SegmentCache"}` 不大,但 Doris BE Bvar 中
`doris_column_reader_num` 很大,则需要怀疑 Segment Cache 的内存占用,如果你 [...]
### Memory Tracker 统计缺失原因
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-issue-faq.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-issue-faq.md
index 9d1705f50a3..0d794ae25c5 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-issue-faq.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-issue-faq.md
@@ -82,7 +82,7 @@ Doris 目前仍存在 Doris BE 进程虚拟内存过大的问题,通常是因
- 如果 `tablet_meta_schema_columns_count` 过大,是 `doris_total_tablet_schema_num`
的成百上千倍,说明集群中存在几百上千列的大宽表,此时相同数量的 Tablet 会占用更多的内存。
-### 7 Query 没有复杂算子只是简单的 Scan 数据,却要使用很大的内存
+## 7 Query 没有复杂算子只是简单的 Scan 数据,却要使用很大的内存
可能是读取 Segment 时打开的 Column Reader、Index Read 占用的内存,参考 [Metadata
内存分析](./metadata-memory-analysis.md) 查看 Doris BE Bvar 中的
`doris_total_segment_num`、`doris_column_reader_num`、`doris_ordinal_index_memory_bytes`、`doris_zone_map_memory_bytes`、`doris_short_key_index_memory_bytes`的变化,这个现象同样常见于读取大宽表,当打开几十万个
Column Reader 时,内存可能会占用几十GB。
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/overview.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/overview.md
index ffa044ea470..fc2c324ec74 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/overview.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/overview.md
@@ -34,6 +34,7 @@ Apache Doris 作为基于 MPP 架构的 OLAP 数据库,数据从磁盘加载

+```
Server physical memory: 供服务器上所有进程使用的的物理内存,`cat /proc/meminfo` 或 `free -h` 看到的
MemTotal。
|
|---> Linux Kernel Memory And Other Process Memory: Linux 内核和其他进程使用的内存。
@@ -65,6 +66,7 @@ Server physical memory: 供服务器上所有进程使用的的物理内存,`c
| | |---> fragment: 和查询的 fragment 执行相同,stream
load 通常只有 scan operator。
| | |
| | |---> channel: tablet channel 将数据写入临时的数据结构
memtable,然后 delta writer 将数据压缩后写入文件。
+```
---
@@ -83,15 +85,10 @@ Memory Tracker 分为不同的类型,其中 `type=overview` 的 Memory Tracker
Memory Tracker 拥有如下的属性:
1. Label: Memory Tracker 的名称
-
2. Current Consumption(Bytes): 当前内存值,单位 B。
-
3. Current Consumption(Normalize): 当前内存值的 .G.M.K 格式化输出。
-
4. Peak Consumption(Bytes): BE 进程启动后的内存峰值,单位 B,BE 重启后重置。
-
5. Peak Consumption(Normalize): BE 进程启动后内存峰值的 .G.M.K 格式化输出,BE 重启后重置。
-
6. Parent Label: 用于表明两个 Memory Tracker 的父子关系,Child Tracker 记录的内存是 Parent
Tracker 的子集,Parent 相同的不同 Tracker 记录的内存可能存在交集。
有关 Memory Tracker 的更多介绍参考 [内存跟踪器](./memory-tracker.md)。
@@ -104,10 +101,13 @@ Memory Tracker 拥有如下的属性:
当报错进程内存超限或可用内存不足时,在 `be/log/be.INFO` 日志中可以找到 `Memory Tracker Summary`,包含所有
`Type=overview` 和 `Type=global` 的 Memory Tracker,帮助使用者分析当时的内存状态,具体参考
[内存日志分析](./memory-log-analysis.md)
+---
+
## 内存分析
将 `type=overview` 的 Memory Tracker 对应到上述内存结构中 `tracked` 下的每一部分内存:
+```
Doris BE Process Memory
|
|---> tracked: 对应 `MemTrackerLimiter Label=sum of all trackers,
Type=overview`,是 Memory Tracker 统计到的所有内存,即除 `Label=process resident memory` 和
`Label=process virtual memory` 外,其他 `type=overview` 的 Memory Tracker 的 Current
Consumption 总和。
@@ -138,21 +138,26 @@ Doris BE Process Memory
|---> Doris BE 进程物理内存,对应 `MemTrackerLimiter Label=process resident memory,
Type=overview`,Current Consumption 取自 VmRSS in `/proc/self/status`,Peak
Consumption 取自 VmHWM in `/proc/self/status`。
|
|---> Doris BE 进程虚拟内存,对应 `MemTrackerLimiter Label=process virtual memory,
Type=overview`,Current Consumption 取自 VmSize in `/proc/self/status`,Peak
Consumption 取自 VmPeak in `/proc/self/status`。
+```
上述内存结构中每一部分内存的分析方法:
1. [Jemalloc 内存分析](./jemalloc-memory-analysis.md)
-2. [Global 内存分析](./global-memory-analysis.md)
+2. [全局内存分析](./global-memory-analysis.md)
3. [Query 内存分析](./query-memory-analysis.md)
4. [Load 内存分析](./load-memory-analysis.md)
+---
+
## 内存问题 FAQ
参考 [内存问题 FAQ](./memory-issue-faq.md) 分析常见的内存问题。
+---
+
## 内存控制策略
-参考 [内存控制策略](./memory-control-strategy.md) 中对内存分配、监控、回收的介绍,确保 Doris BE
进程内存的高效可控。
+参考 [内存控制策略](./memory-control-strategy.md) 中对内存分配、监控、回收的介绍,它们保证了 Doris BE
进程内存的高效可控。
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1.json
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1.json
index 45266e4dc72..897067e01d2 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1.json
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1.json
@@ -179,6 +179,14 @@
"message": "内存管理",
"description": "The label for category Memory Management in sidebar docs"
},
+ "sidebar.docs.category.Managing Memory Analysis": {
+ "message": "内存分析",
+ "description": "The label for category Managing Memory Analysis in sidebar
docs"
+ },
+ "sidebar.docs.category.Managing Memory Feature": {
+ "message": "内存特性",
+ "description": "The label for category Managing Memory Feature in sidebar
docs"
+ },
"sidebar.docs.category.Maintenance": {
"message": "运维监控",
"description": "The label for category Maintenance and Monitor in sidebar
docs"
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/doris-cache-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
similarity index 94%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/doris-cache-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
index 4c123a009f4..5ab3f7e5444 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/doris-cache-memory-analysis.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
@@ -1,6 +1,6 @@
---
{
- "title": "Doris Cache 内存分析",
+ "title": "Cache 内存分析",
"language": "zh-CN"
}
---
@@ -32,59 +32,59 @@ Doris 自己管理的 Cache 目前均为 LRU 淘汰策略,均支持单独通
用于加速数据扫描。
+```
- DataPageCache: 缓存数据 Page。
-
- IndexPageCache: 缓存数据 Page 的索引。
-
- PKIndexPageCache: 缓存 Page 的主键索引。
+```
2. Metadata Cache
用于加速元数据读取。
+```
- SegmentCache: 缓存已打开的 Segment,如索引信息。
-
- SchemaCache: 缓存 Rowset Schema。
-
- TabletSchemaCache: 缓存 Tablet Schema。
-
- CreateTabletRRIdxCache: 缓存 Create Tabelt 索引。
-
- MowTabletVersionCache: 缓存 Mow Tablet Version。
-
- MowDeleteBitmapAggCache: 缓存 Mow DeleteBitmap。
+```
3. Cloud Cache
云上专用的缓存。
+```
- CloudTabletCache: Cloud 上缓存 Tablet。
-
- CloudTxnDeleteBitmapCache: Cloud 上缓存 DeleteBitmap。
+```
4. Inverted Index Cache
加速倒排索引。
+```
- InvertedIndexSearcherCache
-
- InvertedIndexQueryCache
+```
5. Point Query Cache
加速点查询执行,主要用于日志分析。
+```
- PointQueryRowCache
-
- PointQueryLookupConnectionCache
+```
6. Other Cache
+```
- FileCache: 外表查询和 Cloud 使用的文件缓存。
-
- CommonObjLRUCache
-
- LastSuccessChannelCache
+```
## Doris Cache 查看方法
@@ -94,19 +94,15 @@ Doris 自己管理的 Cache 目前均为 LRU 淘汰策略,均支持单独通
Web 页面 `http://http://{be_host}:{be_web_server_port}/metrics` 可以看到 BE
进程内存监控(Metrics),包括每个 Cache 的容量、使用率、元素个数、查找和命中次数等指标。
+```
- `doris_be_cache_capacity{name="TabletSchemaCache"} 102400`:Cache
容量,内存大小或者元素个数两种限制方法。
-
- `doris_be_cache_usage{name="TabletSchemaCache"} 40838`:Cache
使用量,内存大小或者元素个数,对应 Cache 容量的限制。
-
- `doris_be_cache_usage_ratio{name="TabletSchemaCache"} 0.398809`:Cache
使用率,等于`(cache_usage / cache_capacity)`。
-
- `doris_be_cache_element_count{name="TabletSchemaCache"} 1628`:Cache 元素个数,当
Cache 容量限制元素个数时等于 Cache Usage。
-
- `doris_be_cache_lookup_count{name="TabletSchemaCache"} 63393`:查找 Cache 的次数。
-
- `doris_be_cache_hit_count{name="TabletSchemaCache"} 61765`:查找 Cache 时命中的次数。
-
- `doris_be_cache_hit_ratio{name="TabletSchemaCache"}
0.974319`:命中率,等于`(hit_count / lookup_count)`
+```
2. Doris BE Bvar
@@ -116,9 +112,9 @@ Web 页面 `http://http://{be_host}:{brpc_port}/vars/*cache*`
可以看到部分
3. Memory Trakcer
-实时查看每个 Cache 占用内存大小,参考 [Global 内存分析](./global-memory-analysis.md),当存在内存报错时在
`be/log/be.INFO` 日志中可以找到 `Memory Tracker Summary` 中,其中包含当时的 Cache 内存大小。
+实时查看每个 Cache 占用内存大小,参考 [全局内存分析](./global-memory-analysis.md),当存在内存报错时在
`be/log/be.INFO` 日志中可以找到 `Memory Tracker Summary` 中,其中包含当时的 Cache 内存大小。
-## Doris Cache 内存分析
+## Cache 内存分析
Doris BE 运行时存在各种 Cache,通常无需关注 Cache 内存,因为在 BE 进程可用内存不足时会触发内存 GC 首先清理 Cache。
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/global-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/global-memory-analysis.md
similarity index 97%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/global-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/global-memory-analysis.md
index 05ed6721042..4b8cc52287d 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/global-memory-analysis.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/global-memory-analysis.md
@@ -1,6 +1,6 @@
---
{
- "title": "Global 内存分析",
+ "title": "全局内存分析",
"language": "zh-CN"
}
---
@@ -77,7 +77,7 @@ Global Memory Tracker `Label=global, Type=overview` 的值等于所有
`Type=glo
### Cache 分析方法
-参考 [Doris Cache 内存分析](./doris-cache-memory-analysis.md)
+参考 [Cache 内存分析](./doris-cache-memory-analysis.md)
### Metadata 分析方法
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/heap-profile-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/heap-profile-memory-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/heap-profile-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/heap-profile-memory-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/jemalloc-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/jemalloc-memory-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/jemalloc-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/jemalloc-memory-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/load-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/load-memory-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/load-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/load-memory-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-log-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/memory-log-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-log-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/memory-log-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/metadata-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/metadata-memory-analysis.md
similarity index 96%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/metadata-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/metadata-memory-analysis.md
index 9fd3de12d56..d825b41edb6 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/metadata-memory-analysis.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/metadata-memory-analysis.md
@@ -56,7 +56,7 @@ Web 页面 `http://http://{be_host}:{brpc_port}/vars` 可以看到 Bvar 统计
### Doris BE Metrics
-Web 页面 `http://http://{be_host}:{be_web_server_port}/metrics` 可以看到 BE
进程内存监(Metrics)中的一些元数据指标。其中 Metadata Cache 相关指标参考 [Doris Cache
内存分析](./doris-cache-memory-analysis.md)。
+Web 页面 `http://http://{be_host}:{be_web_server_port}/metrics` 可以看到 BE
进程内存监(Metrics)中的一些元数据指标。其中 Metadata Cache 相关指标参考 [Cache
内存分析](./doris-cache-memory-analysis.md)。
```
- `doris_be_all_rowsets_num`:所有 Rowset 的数量。
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/oom-crash-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/oom-crash-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/oom-crash-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/oom-crash-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
similarity index 99%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
index 5b34e25f105..2c64e1ffc27 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
@@ -1,6 +1,6 @@
---
{
- "title": "查询或导入报错进程可用内存不足",
+ "title": "查询报错 Process Memory Not Enough",
"language": "zh-CN"
}
---
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
similarity index 98%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
index 1ff9c134195..84d6c138b88 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
@@ -1,6 +1,6 @@
---
{
- "title": "查询或导入报错超过单次执行内存限制",
+ "title": "查询报错 Memory Tracker Limit Exceeded",
"language": "zh-CN"
}
---
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/query-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/query-memory-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/query-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-analysis/query-memory-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-control-strategy.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-feature/memory-control-strategy.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-control-strategy.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-feature/memory-control-strategy.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-tracker.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-feature/memory-tracker.md
similarity index 90%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-tracker.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-feature/memory-tracker.md
index 227764b213f..cf74f43d9c7 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-tracker.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-feature/memory-tracker.md
@@ -70,7 +70,7 @@ Doris 2.1 之前和之后的版本中 Memory Tracker 统计缺失的现象不同
否则可以先参考 [Metadata 内存分析](./metadata-memory-analysis.md) 分析 Doris BE 的元数据内存。
-> 在 Doris 2.1.5 之前的版本中 Segment Cache Memory Tacker 不准确,通常发现 Memory Tracker
统计缺失或 BE 进程内存不下降时,可以优先参考 [Doris Cache 内存分析](./doris-cache-memory-analysis.md)
分析 SegmentCache 内存使用,尝试关闭 Segment Cache 后继续测试。这是因为包括 Primary Key Index 在内的一些
Index 内存统计的是不准确的,导致 Segment Cache 内存没有得到有效限制,经常占用过大的内存,尤其是在成百上千列的大宽表上,参考
[Metadata 内存分析](./metadata-memory-analysis.md) 如果你发现 Doris BE Metrics 中
`doris_be_cache_usage{name="SegmentCache"}` 不大,但 Doris BE Bvar 中
`doris_column_reader_num` 很大,则需要怀疑 Segment Cache 的内存 [...]
+> 在 Doris 2.1.5 之前的版本中 Segment Cache Memory Tacker 不准确,通常发现 Memory Tracker
统计缺失或 BE 进程内存不下降时,可以优先参考 [Cache 内存分析](./doris-cache-memory-analysis.md) 分析
SegmentCache 内存使用,尝试关闭 Segment Cache 后继续测试。这是因为包括 Primary Key Index 在内的一些 Index
内存统计的是不准确的,导致 Segment Cache 内存没有得到有效限制,经常占用过大的内存,尤其是在成百上千列的大宽表上,参考 [Metadata
内存分析](./metadata-memory-analysis.md) 如果你发现 Doris BE Metrics 中
`doris_be_cache_usage{name="SegmentCache"}` 不大,但 Doris BE Bvar 中
`doris_column_reader_num` 很大,则需要怀疑 Segment Cache 的内存占用,如果你 [...]
### Memory Tracker 统计缺失原因
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-issue-faq.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-issue-faq.md
index 9d1705f50a3..0d794ae25c5 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-issue-faq.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/memory-issue-faq.md
@@ -82,7 +82,7 @@ Doris 目前仍存在 Doris BE 进程虚拟内存过大的问题,通常是因
- 如果 `tablet_meta_schema_columns_count` 过大,是 `doris_total_tablet_schema_num`
的成百上千倍,说明集群中存在几百上千列的大宽表,此时相同数量的 Tablet 会占用更多的内存。
-### 7 Query 没有复杂算子只是简单的 Scan 数据,却要使用很大的内存
+## 7 Query 没有复杂算子只是简单的 Scan 数据,却要使用很大的内存
可能是读取 Segment 时打开的 Column Reader、Index Read 占用的内存,参考 [Metadata
内存分析](./metadata-memory-analysis.md) 查看 Doris BE Bvar 中的
`doris_total_segment_num`、`doris_column_reader_num`、`doris_ordinal_index_memory_bytes`、`doris_zone_map_memory_bytes`、`doris_short_key_index_memory_bytes`的变化,这个现象同样常见于读取大宽表,当打开几十万个
Column Reader 时,内存可能会占用几十GB。
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/overview.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/overview.md
index ffa044ea470..fc2c324ec74 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/overview.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/memory-management/overview.md
@@ -34,6 +34,7 @@ Apache Doris 作为基于 MPP 架构的 OLAP 数据库,数据从磁盘加载

+```
Server physical memory: 供服务器上所有进程使用的的物理内存,`cat /proc/meminfo` 或 `free -h` 看到的
MemTotal。
|
|---> Linux Kernel Memory And Other Process Memory: Linux 内核和其他进程使用的内存。
@@ -65,6 +66,7 @@ Server physical memory: 供服务器上所有进程使用的的物理内存,`c
| | |---> fragment: 和查询的 fragment 执行相同,stream
load 通常只有 scan operator。
| | |
| | |---> channel: tablet channel 将数据写入临时的数据结构
memtable,然后 delta writer 将数据压缩后写入文件。
+```
---
@@ -83,15 +85,10 @@ Memory Tracker 分为不同的类型,其中 `type=overview` 的 Memory Tracker
Memory Tracker 拥有如下的属性:
1. Label: Memory Tracker 的名称
-
2. Current Consumption(Bytes): 当前内存值,单位 B。
-
3. Current Consumption(Normalize): 当前内存值的 .G.M.K 格式化输出。
-
4. Peak Consumption(Bytes): BE 进程启动后的内存峰值,单位 B,BE 重启后重置。
-
5. Peak Consumption(Normalize): BE 进程启动后内存峰值的 .G.M.K 格式化输出,BE 重启后重置。
-
6. Parent Label: 用于表明两个 Memory Tracker 的父子关系,Child Tracker 记录的内存是 Parent
Tracker 的子集,Parent 相同的不同 Tracker 记录的内存可能存在交集。
有关 Memory Tracker 的更多介绍参考 [内存跟踪器](./memory-tracker.md)。
@@ -104,10 +101,13 @@ Memory Tracker 拥有如下的属性:
当报错进程内存超限或可用内存不足时,在 `be/log/be.INFO` 日志中可以找到 `Memory Tracker Summary`,包含所有
`Type=overview` 和 `Type=global` 的 Memory Tracker,帮助使用者分析当时的内存状态,具体参考
[内存日志分析](./memory-log-analysis.md)
+---
+
## 内存分析
将 `type=overview` 的 Memory Tracker 对应到上述内存结构中 `tracked` 下的每一部分内存:
+```
Doris BE Process Memory
|
|---> tracked: 对应 `MemTrackerLimiter Label=sum of all trackers,
Type=overview`,是 Memory Tracker 统计到的所有内存,即除 `Label=process resident memory` 和
`Label=process virtual memory` 外,其他 `type=overview` 的 Memory Tracker 的 Current
Consumption 总和。
@@ -138,21 +138,26 @@ Doris BE Process Memory
|---> Doris BE 进程物理内存,对应 `MemTrackerLimiter Label=process resident memory,
Type=overview`,Current Consumption 取自 VmRSS in `/proc/self/status`,Peak
Consumption 取自 VmHWM in `/proc/self/status`。
|
|---> Doris BE 进程虚拟内存,对应 `MemTrackerLimiter Label=process virtual memory,
Type=overview`,Current Consumption 取自 VmSize in `/proc/self/status`,Peak
Consumption 取自 VmPeak in `/proc/self/status`。
+```
上述内存结构中每一部分内存的分析方法:
1. [Jemalloc 内存分析](./jemalloc-memory-analysis.md)
-2. [Global 内存分析](./global-memory-analysis.md)
+2. [全局内存分析](./global-memory-analysis.md)
3. [Query 内存分析](./query-memory-analysis.md)
4. [Load 内存分析](./load-memory-analysis.md)
+---
+
## 内存问题 FAQ
参考 [内存问题 FAQ](./memory-issue-faq.md) 分析常见的内存问题。
+---
+
## 内存控制策略
-参考 [内存控制策略](./memory-control-strategy.md) 中对内存分配、监控、回收的介绍,确保 Doris BE
进程内存的高效可控。
+参考 [内存控制策略](./memory-control-strategy.md) 中对内存分配、监控、回收的介绍,它们保证了 Doris BE
进程内存的高效可控。
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0.json
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0.json
index 3112a8c3883..dea2a96c37a 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0.json
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0.json
@@ -195,6 +195,14 @@
"message": "内存管理",
"description": "The label for category Managing Memory in sidebar docs"
},
+ "sidebar.docs.category.Managing Memory Analysis": {
+ "message": "内存分析",
+ "description": "The label for category Managing Memory Analysis in sidebar
docs"
+ },
+ "sidebar.docs.category.Managing Memory Feature": {
+ "message": "内存特性",
+ "description": "The label for category Managing Memory Feature in sidebar
docs"
+ },
"sidebar.docs.category.Log Management": {
"message": "日志管理",
"description": "The label for category Log Management in sidebar docs"
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/doris-cache-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
similarity index 94%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/doris-cache-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
index 4c123a009f4..5ab3f7e5444 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/doris-cache-memory-analysis.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
@@ -1,6 +1,6 @@
---
{
- "title": "Doris Cache 内存分析",
+ "title": "Cache 内存分析",
"language": "zh-CN"
}
---
@@ -32,59 +32,59 @@ Doris 自己管理的 Cache 目前均为 LRU 淘汰策略,均支持单独通
用于加速数据扫描。
+```
- DataPageCache: 缓存数据 Page。
-
- IndexPageCache: 缓存数据 Page 的索引。
-
- PKIndexPageCache: 缓存 Page 的主键索引。
+```
2. Metadata Cache
用于加速元数据读取。
+```
- SegmentCache: 缓存已打开的 Segment,如索引信息。
-
- SchemaCache: 缓存 Rowset Schema。
-
- TabletSchemaCache: 缓存 Tablet Schema。
-
- CreateTabletRRIdxCache: 缓存 Create Tabelt 索引。
-
- MowTabletVersionCache: 缓存 Mow Tablet Version。
-
- MowDeleteBitmapAggCache: 缓存 Mow DeleteBitmap。
+```
3. Cloud Cache
云上专用的缓存。
+```
- CloudTabletCache: Cloud 上缓存 Tablet。
-
- CloudTxnDeleteBitmapCache: Cloud 上缓存 DeleteBitmap。
+```
4. Inverted Index Cache
加速倒排索引。
+```
- InvertedIndexSearcherCache
-
- InvertedIndexQueryCache
+```
5. Point Query Cache
加速点查询执行,主要用于日志分析。
+```
- PointQueryRowCache
-
- PointQueryLookupConnectionCache
+```
6. Other Cache
+```
- FileCache: 外表查询和 Cloud 使用的文件缓存。
-
- CommonObjLRUCache
-
- LastSuccessChannelCache
+```
## Doris Cache 查看方法
@@ -94,19 +94,15 @@ Doris 自己管理的 Cache 目前均为 LRU 淘汰策略,均支持单独通
Web 页面 `http://http://{be_host}:{be_web_server_port}/metrics` 可以看到 BE
进程内存监控(Metrics),包括每个 Cache 的容量、使用率、元素个数、查找和命中次数等指标。
+```
- `doris_be_cache_capacity{name="TabletSchemaCache"} 102400`:Cache
容量,内存大小或者元素个数两种限制方法。
-
- `doris_be_cache_usage{name="TabletSchemaCache"} 40838`:Cache
使用量,内存大小或者元素个数,对应 Cache 容量的限制。
-
- `doris_be_cache_usage_ratio{name="TabletSchemaCache"} 0.398809`:Cache
使用率,等于`(cache_usage / cache_capacity)`。
-
- `doris_be_cache_element_count{name="TabletSchemaCache"} 1628`:Cache 元素个数,当
Cache 容量限制元素个数时等于 Cache Usage。
-
- `doris_be_cache_lookup_count{name="TabletSchemaCache"} 63393`:查找 Cache 的次数。
-
- `doris_be_cache_hit_count{name="TabletSchemaCache"} 61765`:查找 Cache 时命中的次数。
-
- `doris_be_cache_hit_ratio{name="TabletSchemaCache"}
0.974319`:命中率,等于`(hit_count / lookup_count)`
+```
2. Doris BE Bvar
@@ -116,9 +112,9 @@ Web 页面 `http://http://{be_host}:{brpc_port}/vars/*cache*`
可以看到部分
3. Memory Trakcer
-实时查看每个 Cache 占用内存大小,参考 [Global 内存分析](./global-memory-analysis.md),当存在内存报错时在
`be/log/be.INFO` 日志中可以找到 `Memory Tracker Summary` 中,其中包含当时的 Cache 内存大小。
+实时查看每个 Cache 占用内存大小,参考 [全局内存分析](./global-memory-analysis.md),当存在内存报错时在
`be/log/be.INFO` 日志中可以找到 `Memory Tracker Summary` 中,其中包含当时的 Cache 内存大小。
-## Doris Cache 内存分析
+## Cache 内存分析
Doris BE 运行时存在各种 Cache,通常无需关注 Cache 内存,因为在 BE 进程可用内存不足时会触发内存 GC 首先清理 Cache。
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/global-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/global-memory-analysis.md
similarity index 97%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/global-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/global-memory-analysis.md
index 05ed6721042..4b8cc52287d 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/global-memory-analysis.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/global-memory-analysis.md
@@ -1,6 +1,6 @@
---
{
- "title": "Global 内存分析",
+ "title": "全局内存分析",
"language": "zh-CN"
}
---
@@ -77,7 +77,7 @@ Global Memory Tracker `Label=global, Type=overview` 的值等于所有
`Type=glo
### Cache 分析方法
-参考 [Doris Cache 内存分析](./doris-cache-memory-analysis.md)
+参考 [Cache 内存分析](./doris-cache-memory-analysis.md)
### Metadata 分析方法
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/heap-profile-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/heap-profile-memory-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/heap-profile-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/heap-profile-memory-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/jemalloc-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/jemalloc-memory-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/jemalloc-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/jemalloc-memory-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/load-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/load-memory-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/load-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/load-memory-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-log-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/memory-log-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-log-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/memory-log-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/metadata-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/metadata-memory-analysis.md
similarity index 96%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/metadata-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/metadata-memory-analysis.md
index 9fd3de12d56..d825b41edb6 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/metadata-memory-analysis.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/metadata-memory-analysis.md
@@ -56,7 +56,7 @@ Web 页面 `http://http://{be_host}:{brpc_port}/vars` 可以看到 Bvar 统计
### Doris BE Metrics
-Web 页面 `http://http://{be_host}:{be_web_server_port}/metrics` 可以看到 BE
进程内存监(Metrics)中的一些元数据指标。其中 Metadata Cache 相关指标参考 [Doris Cache
内存分析](./doris-cache-memory-analysis.md)。
+Web 页面 `http://http://{be_host}:{be_web_server_port}/metrics` 可以看到 BE
进程内存监(Metrics)中的一些元数据指标。其中 Metadata Cache 相关指标参考 [Cache
内存分析](./doris-cache-memory-analysis.md)。
```
- `doris_be_all_rowsets_num`:所有 Rowset 的数量。
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/oom-crash-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/oom-crash-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/oom-crash-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/oom-crash-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
similarity index 99%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
index 5b34e25f105..2c64e1ffc27 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
@@ -1,6 +1,6 @@
---
{
- "title": "查询或导入报错进程可用内存不足",
+ "title": "查询报错 Process Memory Not Enough",
"language": "zh-CN"
}
---
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
similarity index 98%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
index 1ff9c134195..84d6c138b88 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
@@ -1,6 +1,6 @@
---
{
- "title": "查询或导入报错超过单次执行内存限制",
+ "title": "查询报错 Memory Tracker Limit Exceeded",
"language": "zh-CN"
}
---
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/query-memory-analysis.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/query-memory-analysis.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/query-memory-analysis.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-analysis/query-memory-analysis.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-control-strategy.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-feature/memory-control-strategy.md
similarity index 100%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-control-strategy.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-feature/memory-control-strategy.md
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-tracker.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-feature/memory-tracker.md
similarity index 90%
rename from
i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-tracker.md
rename to
i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-feature/memory-tracker.md
index 227764b213f..cf74f43d9c7 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/memory-management/memory-tracker.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-feature/memory-tracker.md
@@ -70,7 +70,7 @@ Doris 2.1 之前和之后的版本中 Memory Tracker 统计缺失的现象不同
否则可以先参考 [Metadata 内存分析](./metadata-memory-analysis.md) 分析 Doris BE 的元数据内存。
-> 在 Doris 2.1.5 之前的版本中 Segment Cache Memory Tacker 不准确,通常发现 Memory Tracker
统计缺失或 BE 进程内存不下降时,可以优先参考 [Doris Cache 内存分析](./doris-cache-memory-analysis.md)
分析 SegmentCache 内存使用,尝试关闭 Segment Cache 后继续测试。这是因为包括 Primary Key Index 在内的一些
Index 内存统计的是不准确的,导致 Segment Cache 内存没有得到有效限制,经常占用过大的内存,尤其是在成百上千列的大宽表上,参考
[Metadata 内存分析](./metadata-memory-analysis.md) 如果你发现 Doris BE Metrics 中
`doris_be_cache_usage{name="SegmentCache"}` 不大,但 Doris BE Bvar 中
`doris_column_reader_num` 很大,则需要怀疑 Segment Cache 的内存 [...]
+> 在 Doris 2.1.5 之前的版本中 Segment Cache Memory Tacker 不准确,通常发现 Memory Tracker
统计缺失或 BE 进程内存不下降时,可以优先参考 [Cache 内存分析](./doris-cache-memory-analysis.md) 分析
SegmentCache 内存使用,尝试关闭 Segment Cache 后继续测试。这是因为包括 Primary Key Index 在内的一些 Index
内存统计的是不准确的,导致 Segment Cache 内存没有得到有效限制,经常占用过大的内存,尤其是在成百上千列的大宽表上,参考 [Metadata
内存分析](./metadata-memory-analysis.md) 如果你发现 Doris BE Metrics 中
`doris_be_cache_usage{name="SegmentCache"}` 不大,但 Doris BE Bvar 中
`doris_column_reader_num` 很大,则需要怀疑 Segment Cache 的内存占用,如果你 [...]
### Memory Tracker 统计缺失原因
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-issue-faq.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-issue-faq.md
index 9d1705f50a3..0d794ae25c5 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-issue-faq.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/memory-issue-faq.md
@@ -82,7 +82,7 @@ Doris 目前仍存在 Doris BE 进程虚拟内存过大的问题,通常是因
- 如果 `tablet_meta_schema_columns_count` 过大,是 `doris_total_tablet_schema_num`
的成百上千倍,说明集群中存在几百上千列的大宽表,此时相同数量的 Tablet 会占用更多的内存。
-### 7 Query 没有复杂算子只是简单的 Scan 数据,却要使用很大的内存
+## 7 Query 没有复杂算子只是简单的 Scan 数据,却要使用很大的内存
可能是读取 Segment 时打开的 Column Reader、Index Read 占用的内存,参考 [Metadata
内存分析](./metadata-memory-analysis.md) 查看 Doris BE Bvar 中的
`doris_total_segment_num`、`doris_column_reader_num`、`doris_ordinal_index_memory_bytes`、`doris_zone_map_memory_bytes`、`doris_short_key_index_memory_bytes`的变化,这个现象同样常见于读取大宽表,当打开几十万个
Column Reader 时,内存可能会占用几十GB。
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/overview.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/overview.md
index ffa044ea470..fc2c324ec74 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/overview.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/admin-manual/memory-management/overview.md
@@ -34,6 +34,7 @@ Apache Doris 作为基于 MPP 架构的 OLAP 数据库,数据从磁盘加载

+```
Server physical memory: 供服务器上所有进程使用的的物理内存,`cat /proc/meminfo` 或 `free -h` 看到的
MemTotal。
|
|---> Linux Kernel Memory And Other Process Memory: Linux 内核和其他进程使用的内存。
@@ -65,6 +66,7 @@ Server physical memory: 供服务器上所有进程使用的的物理内存,`c
| | |---> fragment: 和查询的 fragment 执行相同,stream
load 通常只有 scan operator。
| | |
| | |---> channel: tablet channel 将数据写入临时的数据结构
memtable,然后 delta writer 将数据压缩后写入文件。
+```
---
@@ -83,15 +85,10 @@ Memory Tracker 分为不同的类型,其中 `type=overview` 的 Memory Tracker
Memory Tracker 拥有如下的属性:
1. Label: Memory Tracker 的名称
-
2. Current Consumption(Bytes): 当前内存值,单位 B。
-
3. Current Consumption(Normalize): 当前内存值的 .G.M.K 格式化输出。
-
4. Peak Consumption(Bytes): BE 进程启动后的内存峰值,单位 B,BE 重启后重置。
-
5. Peak Consumption(Normalize): BE 进程启动后内存峰值的 .G.M.K 格式化输出,BE 重启后重置。
-
6. Parent Label: 用于表明两个 Memory Tracker 的父子关系,Child Tracker 记录的内存是 Parent
Tracker 的子集,Parent 相同的不同 Tracker 记录的内存可能存在交集。
有关 Memory Tracker 的更多介绍参考 [内存跟踪器](./memory-tracker.md)。
@@ -104,10 +101,13 @@ Memory Tracker 拥有如下的属性:
当报错进程内存超限或可用内存不足时,在 `be/log/be.INFO` 日志中可以找到 `Memory Tracker Summary`,包含所有
`Type=overview` 和 `Type=global` 的 Memory Tracker,帮助使用者分析当时的内存状态,具体参考
[内存日志分析](./memory-log-analysis.md)
+---
+
## 内存分析
将 `type=overview` 的 Memory Tracker 对应到上述内存结构中 `tracked` 下的每一部分内存:
+```
Doris BE Process Memory
|
|---> tracked: 对应 `MemTrackerLimiter Label=sum of all trackers,
Type=overview`,是 Memory Tracker 统计到的所有内存,即除 `Label=process resident memory` 和
`Label=process virtual memory` 外,其他 `type=overview` 的 Memory Tracker 的 Current
Consumption 总和。
@@ -138,21 +138,26 @@ Doris BE Process Memory
|---> Doris BE 进程物理内存,对应 `MemTrackerLimiter Label=process resident memory,
Type=overview`,Current Consumption 取自 VmRSS in `/proc/self/status`,Peak
Consumption 取自 VmHWM in `/proc/self/status`。
|
|---> Doris BE 进程虚拟内存,对应 `MemTrackerLimiter Label=process virtual memory,
Type=overview`,Current Consumption 取自 VmSize in `/proc/self/status`,Peak
Consumption 取自 VmPeak in `/proc/self/status`。
+```
上述内存结构中每一部分内存的分析方法:
1. [Jemalloc 内存分析](./jemalloc-memory-analysis.md)
-2. [Global 内存分析](./global-memory-analysis.md)
+2. [全局内存分析](./global-memory-analysis.md)
3. [Query 内存分析](./query-memory-analysis.md)
4. [Load 内存分析](./load-memory-analysis.md)
+---
+
## 内存问题 FAQ
参考 [内存问题 FAQ](./memory-issue-faq.md) 分析常见的内存问题。
+---
+
## 内存控制策略
-参考 [内存控制策略](./memory-control-strategy.md) 中对内存分配、监控、回收的介绍,确保 Doris BE
进程内存的高效可控。
+参考 [内存控制策略](./memory-control-strategy.md) 中对内存分配、监控、回收的介绍,它们保证了 Doris BE
进程内存的高效可控。
diff --git a/sidebars.json b/sidebars.json
index da3c4e0dce1..4cfd2600242 100644
--- a/sidebars.json
+++ b/sidebars.json
@@ -426,21 +426,33 @@
"type": "category",
"label": "Managing Memory",
"items": [
-
"admin-manual/memory-management/doris-cache-memory-analysis",
-
"admin-manual/memory-management/global-memory-analysis",
-
"admin-manual/memory-management/heap-profile-memory-analysis",
-
"admin-manual/memory-management/jemalloc-memory-analysis",
- "admin-manual/memory-management/load-memory-analysis",
-
"admin-manual/memory-management/memory-control-strategy",
- "admin-manual/memory-management/memory-issue-faq",
- "admin-manual/memory-management/memory-log-analysis",
- "admin-manual/memory-management/memory-tracker",
-
"admin-manual/memory-management/metadata-memory-analysis",
- "admin-manual/memory-management/oom-crash-analysis",
"admin-manual/memory-management/overview",
-
"admin-manual/memory-management/query-cancelled-after-process-memory-exceeded",
-
"admin-manual/memory-management/query-cancelled-after-query-memory-exceeded",
- "admin-manual/memory-management/query-memory-analysis"
+ "admin-manual/memory-management/memory-issue-faq",
+ {
+ "type": "category",
+ "label": "Managing Memory Analysis",
+ "items": [
+
"admin-manual/memory-management/memory-analysis/jemalloc-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/global-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/metadata-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/query-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/load-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded",
+
"admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded",
+
"admin-manual/memory-management/memory-analysis/oom-crash-analysis",
+
"admin-manual/memory-management/memory-analysis/memory-log-analysis",
+
"admin-manual/memory-management/memory-analysis/heap-profile-memory-analysis"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Managing Memory Feature",
+ "items": [
+
"admin-manual/memory-management/memory-feature/memory-tracker",
+
"admin-manual/memory-management/memory-feature/memory-control-strategy"
+ ]
+ }
]
},
{
diff --git
a/versioned_docs/version-2.1/admin-manual/memory-management/doris-cache-memory-analysis.md
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
similarity index 92%
rename from
versioned_docs/version-2.1/admin-manual/memory-management/doris-cache-memory-analysis.md
rename to
versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
index 38cb7fb9803..90141a1efe9 100644
---
a/versioned_docs/version-2.1/admin-manual/memory-management/doris-cache-memory-analysis.md
+++
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
@@ -1,6 +1,6 @@
---
{
- "title": "Doris Cache Memory Analysis",
+ "title": "Cache Memory Analysis",
"language": "zh-CN"
}
---
@@ -32,59 +32,60 @@ The caches managed by Doris are currently all LRU
elimination strategies, and al
Used to speed up data scanning.
+```
- DataPageCache: Cache data Page.
-
-- IndexPageCache: Cache the index of data Page.
-
-- PKIndexPageCache: Cache the primary key index of Page.
+- IndexPageCache: Cache data Page index.
+- PKIndexPageCache: Cache Page primary key index.
+```
2. Metadata Cache
Used to speed up metadata reading.
-- SegmentCache: Cache the opened Segment, such as index information.
-
+```
+- SegmentCache: Cache open Segments, such as index information.
- SchemaCache: Cache Rowset Schema.
-
- TabletSchemaCache: Cache Tablet Schema.
-
-- CreateTabletRRIdxCache: Cache Create Tabelt Index.
-
+- CreateTabletRRIdxCache: Cache Create Tabelt index.
- MowTabletVersionCache: Cache Mow Tablet Version.
-
- MowDeleteBitmapAggCache: Cache Mow DeleteBitmap.
+```
3. Cloud Cache
A dedicated cache on the cloud.
-- CloudTabletCache: Cache Tablet on Cloud.
-
+```
+- CloudTabletCache: Cache Tablet on the Cloud.
- CloudTxnDeleteBitmapCache: Cache DeleteBitmap on Cloud.
+```
4. Inverted Index Cache
Speed up inverted index.
+```
- InvertedIndexSearcherCache
-
- InvertedIndexQueryCache
+```
5. Point Query Cache
Speed up point query execution, mainly used for log analysis.
+```
- PointQueryRowCache
-
- PointQueryLookupConnectionCache
+```
6. Other Cache
-- FileCache: File cache used by external table query and Cloud.
+```
+- FileCache: File cache used by external table queries and Cloud.
- CommonObjLRUCache
-
- LastSuccessChannelCache
+```
## Doris Cache View Method
@@ -94,19 +95,15 @@ There are three ways to view Doris Cache related indicators.
Web page `http://http://{be_host}:{be_web_server_port}/metrics` can see BE
process memory monitoring (Metrics), including each cache capacity, usage,
number of elements, search and hit times and other indicators.
+```
- `doris_be_cache_capacity{name="TabletSchemaCache"} 102400`: Cache capacity,
two limiting methods: memory size or number of elements.
-
-- `doris_be_cache_usage{name="TabletSchemaCache"} 40838`: Cache usage, memory
size or number of elements, corresponding to the cache capacity limit.
-
+- `doris_be_cache_usage{name="TabletSchemaCache"} 40838`: Cache usage, memory
size or number of elements, corresponding to the limit of cache capacity.
- `doris_be_cache_usage_ratio{name="TabletSchemaCache"} 0.398809`: Cache
usage, equal to `(cache_usage / cache_capacity)`.
-
- `doris_be_cache_element_count{name="TabletSchemaCache"} 1628`: Number of
cache elements, equal to Cache Usage when the cache capacity limits the number
of elements.
-
- `doris_be_cache_lookup_count{name="TabletSchemaCache"} 63393`: Number of
cache lookups.
-
-- `doris_be_cache_hit_count{name="TabletSchemaCache"} 61765`: Number of cache
hits when looking up.
-
+- `doris_be_cache_hit_count{name="TabletSchemaCache"} 61765`: Number of hits
when looking up the cache.
- `doris_be_cache_hit_ratio{name="TabletSchemaCache"} 0.974319`: Hit ratio,
equal to `(hit_count / lookup_count)`
+```
2. Doris BE Bvar
diff --git
a/versioned_docs/version-2.1/admin-manual/memory-management/global-memory-analysis.md
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/global-memory-analysis.md
similarity index 100%
rename from
versioned_docs/version-2.1/admin-manual/memory-management/global-memory-analysis.md
rename to
versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/global-memory-analysis.md
diff --git
a/versioned_docs/version-2.1/admin-manual/memory-management/heap-profile-memory-analysis.md
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/heap-profile-memory-analysis.md
similarity index 100%
rename from
versioned_docs/version-2.1/admin-manual/memory-management/heap-profile-memory-analysis.md
rename to
versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/heap-profile-memory-analysis.md
diff --git
a/versioned_docs/version-2.1/admin-manual/memory-management/jemalloc-memory-analysis.md
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/jemalloc-memory-analysis.md
similarity index 100%
rename from
versioned_docs/version-2.1/admin-manual/memory-management/jemalloc-memory-analysis.md
rename to
versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/jemalloc-memory-analysis.md
diff --git
a/versioned_docs/version-2.1/admin-manual/memory-management/load-memory-analysis.md
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/load-memory-analysis.md
similarity index 100%
rename from
versioned_docs/version-2.1/admin-manual/memory-management/load-memory-analysis.md
rename to
versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/load-memory-analysis.md
diff --git
a/versioned_docs/version-2.1/admin-manual/memory-management/memory-log-analysis.md
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/memory-log-analysis.md
similarity index 100%
rename from
versioned_docs/version-2.1/admin-manual/memory-management/memory-log-analysis.md
rename to
versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/memory-log-analysis.md
diff --git
a/versioned_docs/version-2.1/admin-manual/memory-management/metadata-memory-analysis.md
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/metadata-memory-analysis.md
similarity index 100%
rename from
versioned_docs/version-2.1/admin-manual/memory-management/metadata-memory-analysis.md
rename to
versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/metadata-memory-analysis.md
diff --git
a/versioned_docs/version-2.1/admin-manual/memory-management/oom-crash-analysis.md
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/oom-crash-analysis.md
similarity index 100%
rename from
versioned_docs/version-2.1/admin-manual/memory-management/oom-crash-analysis.md
rename to
versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/oom-crash-analysis.md
diff --git
a/docs/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
similarity index 99%
rename from
docs/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
rename to
versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
index 4016abce903..546e921a3a6 100644
---
a/docs/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
+++
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
@@ -1,6 +1,6 @@
---
{
- "title": "Query Cancelled After Process Memory Exceeded",
+ "title": "Query error Process Memory Not Enough",
"language": "zh-CN"
}
---
diff --git
a/versioned_docs/version-3.0/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
similarity index 99%
rename from
versioned_docs/version-3.0/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
rename to
versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
index d0860572cfa..28ba92e1e81 100644
---
a/versioned_docs/version-3.0/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
+++
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
@@ -1,6 +1,6 @@
---
{
- "title": "Query Cancelled After Query Memory Exceeded",
+ "title": "Query error Memory Tracker Limit Exceeded",
"language": "zh-CN"
}
---
diff --git
a/versioned_docs/version-2.1/admin-manual/memory-management/query-memory-analysis.md
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/query-memory-analysis.md
similarity index 100%
rename from
versioned_docs/version-2.1/admin-manual/memory-management/query-memory-analysis.md
rename to
versioned_docs/version-2.1/admin-manual/memory-management/memory-analysis/query-memory-analysis.md
diff --git
a/versioned_docs/version-2.1/admin-manual/memory-management/memory-control-strategy.md
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-feature/memory-control-strategy.md
similarity index 100%
rename from
versioned_docs/version-2.1/admin-manual/memory-management/memory-control-strategy.md
rename to
versioned_docs/version-2.1/admin-manual/memory-management/memory-feature/memory-control-strategy.md
diff --git
a/versioned_docs/version-2.1/admin-manual/memory-management/memory-tracker.md
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-feature/memory-tracker.md
similarity index 100%
rename from
versioned_docs/version-2.1/admin-manual/memory-management/memory-tracker.md
rename to
versioned_docs/version-2.1/admin-manual/memory-management/memory-feature/memory-tracker.md
diff --git
a/versioned_docs/version-2.1/admin-manual/memory-management/memory-issue-faq.md
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-issue-faq.md
index 61ea431e84f..f790fc78ff0 100644
---
a/versioned_docs/version-2.1/admin-manual/memory-management/memory-issue-faq.md
+++
b/versioned_docs/version-2.1/admin-manual/memory-management/memory-issue-faq.md
@@ -82,7 +82,7 @@ This is usually because the metadata memory loaded when the
BE process starts is
- If `tablet_meta_schema_columns_count` is too large, hundreds or thousands of
times larger than `doris_total_tablet_schema_num`, it means that there are
large wide tables with hundreds or thousands of columns in the cluster. At this
time, the same number of tablets will occupy more memory.
-### 7 Query does not have complex operators but simply scans data, but it uses
a lot of memory
+## 7 Query does not have complex operators but simply scans data, but it uses
a lot of memory
It may be the memory occupied by the Column Reader and Index Read opened when
reading the Segment. Refer to [Metadata Memory
Analysis](./metadata-memory-analysis.md) to view the changes of
`doris_total_segment_num`, `doris_column_reader_num`,
`doris_ordinal_index_memory_bytes`, `doris_zone_map_memory_bytes`, and
`doris_short_key_index_memory_bytes` in Doris BE Bvar. This phenomenon is also
common when reading large wide tables. When hundreds of thousands of Column
Readers are opened, the [...]
diff --git
a/versioned_docs/version-2.1/admin-manual/memory-management/overview.md
b/versioned_docs/version-2.1/admin-manual/memory-management/overview.md
index e812d6ab66a..a97c51f3b62 100644
--- a/versioned_docs/version-2.1/admin-manual/memory-management/overview.md
+++ b/versioned_docs/version-2.1/admin-manual/memory-management/overview.md
@@ -34,6 +34,7 @@ When facing complex calculations and large-scale operations
with huge memory res

+```
Server physical memory: The physical memory used by all processes on the
server, MemTotal seen by `cat /proc/meminfo` or `free -h`.
|
|---> Linux Kernel Memory And Other Process Memory: Memory used by the
Linux kernel and other processes.
@@ -65,6 +66,7 @@ Server physical memory: The physical memory used by all
processes on the server,
| | |---> fragment: Same as query fragment
execution, stream load usually only has scan operator.
| | |
| | |---> channel: The tablet channel writes
data to a temporary data structure called memtable, and then the delta writer
compresses the data and writes it to the file.
+```
---
@@ -83,15 +85,10 @@ Memory Tracker is divided into different types. Among the
Memory Tracker of type
Memory Tracker has the following properties:
1. Label: the name of the Memory Tracker
-
2. Current Consumption(Bytes): the current memory value, in B.
-
3. Current Consumption(Normalize): the .G.M.K formatted output of the current
memory value.
-
4. Peak Consumption (Bytes): The peak memory value after the BE process is
started, in units of B, and reset after the BE is restarted.
-
5. Peak Consumption (Normalize): The .G.M.K formatted output of the peak
memory value after the BE process is started, and reset after the BE is
restarted.
-
6. Parent Label: Used to indicate the parent-child relationship between two
memory trackers. The memory recorded by the Child Tracker is a subset of the
Parent Tracker. The memory recorded by different trackers with the same Parent
may have an intersection.
For more information about Memory Tracker, refer to [Memory
Tracker](./memory-tracker.md).
@@ -104,10 +101,13 @@ Historical memory statistics can be viewed through Doris
BE's Bvar page `http://
When the error process memory exceeds the limit or the available memory is
insufficient, you can find the `Memory Tracker Summary` in the `be/log/be.INFO`
log, which contains all the Memory Trackers of `Type=overview` and
`Type=global`, to help users analyze the memory status at that time. For
details, please refer to [Memory Log Analysis](./memory-log-analysis.md)
+---
+
## Memory Analysis
Correspond the Memory Tracker of `type=overview` to each part of the memory
under `tracked` in the above memory structure:
+```
Doris BE Process Memory
|
|---> tracked: corresponds to `MemTrackerLimiter Label=sum of all
trackers, Type=overview`, which is all the memory counted by the Memory
Tracker, that is, the sum of the Current Consumption of other Memory Trackers
with `type=overview` except `Label=process resident memory` and `Label=process
virtual memory`.
@@ -138,6 +138,7 @@ Doris BE Process Memory
|---> Doris BE process physical memory, corresponding to
`MemTrackerLimiter Label=process resident memory, Type=overview`, Current
Consumption is taken from VmRSS in `/proc/self/status`, Peak Consumption is
taken from VmHWM in `/proc/self/status`.
|
|---> Doris BE process virtual memory, corresponding to `MemTrackerLimiter
Label=process virtual memory, Type=overview`, Current Consumption is taken from
VmSize in `/proc/self/status`, and Peak Consumption is taken from VmPeak in
`/proc/self/status`.
+```
Analysis methods for each part of the memory in the above memory structure:
@@ -149,10 +150,14 @@ Analysis methods for each part of the memory in the above
memory structure:
4. [Load memory analysis](./load-memory-analysis.md)
+---
+
## Memory problem FAQ
Refer to [Memory problem FAQ](./memory-issue-faq.md) to analyze common memory
problems.
+---
+
## Memory control strategy
-Refer to [Memory control strategy](./memory-control-strategy.md) for an
introduction to memory allocation, monitoring, and recycling to ensure
efficient and controllable memory of the Doris BE process.
+Refer to [Memory Control Strategy](./memory-control-strategy.md) for an
introduction to memory allocation, monitoring, and recycling, which ensure the
efficient and controllable memory of the Doris BE process.
diff --git
a/versioned_docs/version-3.0/admin-manual/memory-management/doris-cache-memory-analysis.md
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
similarity index 92%
rename from
versioned_docs/version-3.0/admin-manual/memory-management/doris-cache-memory-analysis.md
rename to
versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
index 38cb7fb9803..90141a1efe9 100644
---
a/versioned_docs/version-3.0/admin-manual/memory-management/doris-cache-memory-analysis.md
+++
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis.md
@@ -1,6 +1,6 @@
---
{
- "title": "Doris Cache Memory Analysis",
+ "title": "Cache Memory Analysis",
"language": "zh-CN"
}
---
@@ -32,59 +32,60 @@ The caches managed by Doris are currently all LRU
elimination strategies, and al
Used to speed up data scanning.
+```
- DataPageCache: Cache data Page.
-
-- IndexPageCache: Cache the index of data Page.
-
-- PKIndexPageCache: Cache the primary key index of Page.
+- IndexPageCache: Cache data Page index.
+- PKIndexPageCache: Cache Page primary key index.
+```
2. Metadata Cache
Used to speed up metadata reading.
-- SegmentCache: Cache the opened Segment, such as index information.
-
+```
+- SegmentCache: Cache open Segments, such as index information.
- SchemaCache: Cache Rowset Schema.
-
- TabletSchemaCache: Cache Tablet Schema.
-
-- CreateTabletRRIdxCache: Cache Create Tabelt Index.
-
+- CreateTabletRRIdxCache: Cache Create Tabelt index.
- MowTabletVersionCache: Cache Mow Tablet Version.
-
- MowDeleteBitmapAggCache: Cache Mow DeleteBitmap.
+```
3. Cloud Cache
A dedicated cache on the cloud.
-- CloudTabletCache: Cache Tablet on Cloud.
-
+```
+- CloudTabletCache: Cache Tablet on the Cloud.
- CloudTxnDeleteBitmapCache: Cache DeleteBitmap on Cloud.
+```
4. Inverted Index Cache
Speed up inverted index.
+```
- InvertedIndexSearcherCache
-
- InvertedIndexQueryCache
+```
5. Point Query Cache
Speed up point query execution, mainly used for log analysis.
+```
- PointQueryRowCache
-
- PointQueryLookupConnectionCache
+```
6. Other Cache
-- FileCache: File cache used by external table query and Cloud.
+```
+- FileCache: File cache used by external table queries and Cloud.
- CommonObjLRUCache
-
- LastSuccessChannelCache
+```
## Doris Cache View Method
@@ -94,19 +95,15 @@ There are three ways to view Doris Cache related indicators.
Web page `http://http://{be_host}:{be_web_server_port}/metrics` can see BE
process memory monitoring (Metrics), including each cache capacity, usage,
number of elements, search and hit times and other indicators.
+```
- `doris_be_cache_capacity{name="TabletSchemaCache"} 102400`: Cache capacity,
two limiting methods: memory size or number of elements.
-
-- `doris_be_cache_usage{name="TabletSchemaCache"} 40838`: Cache usage, memory
size or number of elements, corresponding to the cache capacity limit.
-
+- `doris_be_cache_usage{name="TabletSchemaCache"} 40838`: Cache usage, memory
size or number of elements, corresponding to the limit of cache capacity.
- `doris_be_cache_usage_ratio{name="TabletSchemaCache"} 0.398809`: Cache
usage, equal to `(cache_usage / cache_capacity)`.
-
- `doris_be_cache_element_count{name="TabletSchemaCache"} 1628`: Number of
cache elements, equal to Cache Usage when the cache capacity limits the number
of elements.
-
- `doris_be_cache_lookup_count{name="TabletSchemaCache"} 63393`: Number of
cache lookups.
-
-- `doris_be_cache_hit_count{name="TabletSchemaCache"} 61765`: Number of cache
hits when looking up.
-
+- `doris_be_cache_hit_count{name="TabletSchemaCache"} 61765`: Number of hits
when looking up the cache.
- `doris_be_cache_hit_ratio{name="TabletSchemaCache"} 0.974319`: Hit ratio,
equal to `(hit_count / lookup_count)`
+```
2. Doris BE Bvar
diff --git
a/versioned_docs/version-3.0/admin-manual/memory-management/global-memory-analysis.md
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/global-memory-analysis.md
similarity index 100%
rename from
versioned_docs/version-3.0/admin-manual/memory-management/global-memory-analysis.md
rename to
versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/global-memory-analysis.md
diff --git
a/versioned_docs/version-3.0/admin-manual/memory-management/heap-profile-memory-analysis.md
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/heap-profile-memory-analysis.md
similarity index 100%
rename from
versioned_docs/version-3.0/admin-manual/memory-management/heap-profile-memory-analysis.md
rename to
versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/heap-profile-memory-analysis.md
diff --git
a/versioned_docs/version-3.0/admin-manual/memory-management/jemalloc-memory-analysis.md
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/jemalloc-memory-analysis.md
similarity index 100%
rename from
versioned_docs/version-3.0/admin-manual/memory-management/jemalloc-memory-analysis.md
rename to
versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/jemalloc-memory-analysis.md
diff --git
a/versioned_docs/version-3.0/admin-manual/memory-management/load-memory-analysis.md
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/load-memory-analysis.md
similarity index 100%
rename from
versioned_docs/version-3.0/admin-manual/memory-management/load-memory-analysis.md
rename to
versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/load-memory-analysis.md
diff --git
a/versioned_docs/version-3.0/admin-manual/memory-management/memory-log-analysis.md
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/memory-log-analysis.md
similarity index 100%
rename from
versioned_docs/version-3.0/admin-manual/memory-management/memory-log-analysis.md
rename to
versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/memory-log-analysis.md
diff --git
a/versioned_docs/version-3.0/admin-manual/memory-management/metadata-memory-analysis.md
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/metadata-memory-analysis.md
similarity index 100%
rename from
versioned_docs/version-3.0/admin-manual/memory-management/metadata-memory-analysis.md
rename to
versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/metadata-memory-analysis.md
diff --git
a/versioned_docs/version-3.0/admin-manual/memory-management/oom-crash-analysis.md
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/oom-crash-analysis.md
similarity index 100%
rename from
versioned_docs/version-3.0/admin-manual/memory-management/oom-crash-analysis.md
rename to
versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/oom-crash-analysis.md
diff --git
a/versioned_docs/version-3.0/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
similarity index 99%
rename from
versioned_docs/version-3.0/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
rename to
versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
index 4016abce903..546e921a3a6 100644
---
a/versioned_docs/version-3.0/admin-manual/memory-management/query-cancelled-after-process-memory-exceeded.md
+++
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded.md
@@ -1,6 +1,6 @@
---
{
- "title": "Query Cancelled After Process Memory Exceeded",
+ "title": "Query error Process Memory Not Enough",
"language": "zh-CN"
}
---
diff --git
a/docs/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
similarity index 99%
rename from
docs/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
rename to
versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
index d0860572cfa..28ba92e1e81 100644
---
a/docs/admin-manual/memory-management/query-cancelled-after-query-memory-exceeded.md
+++
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded.md
@@ -1,6 +1,6 @@
---
{
- "title": "Query Cancelled After Query Memory Exceeded",
+ "title": "Query error Memory Tracker Limit Exceeded",
"language": "zh-CN"
}
---
diff --git
a/versioned_docs/version-3.0/admin-manual/memory-management/query-memory-analysis.md
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/query-memory-analysis.md
similarity index 100%
rename from
versioned_docs/version-3.0/admin-manual/memory-management/query-memory-analysis.md
rename to
versioned_docs/version-3.0/admin-manual/memory-management/memory-analysis/query-memory-analysis.md
diff --git
a/versioned_docs/version-3.0/admin-manual/memory-management/memory-control-strategy.md
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-feature/memory-control-strategy.md
similarity index 100%
rename from
versioned_docs/version-3.0/admin-manual/memory-management/memory-control-strategy.md
rename to
versioned_docs/version-3.0/admin-manual/memory-management/memory-feature/memory-control-strategy.md
diff --git
a/versioned_docs/version-3.0/admin-manual/memory-management/memory-tracker.md
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-feature/memory-tracker.md
similarity index 100%
rename from
versioned_docs/version-3.0/admin-manual/memory-management/memory-tracker.md
rename to
versioned_docs/version-3.0/admin-manual/memory-management/memory-feature/memory-tracker.md
diff --git
a/versioned_docs/version-3.0/admin-manual/memory-management/memory-issue-faq.md
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-issue-faq.md
index 61ea431e84f..f790fc78ff0 100644
---
a/versioned_docs/version-3.0/admin-manual/memory-management/memory-issue-faq.md
+++
b/versioned_docs/version-3.0/admin-manual/memory-management/memory-issue-faq.md
@@ -82,7 +82,7 @@ This is usually because the metadata memory loaded when the
BE process starts is
- If `tablet_meta_schema_columns_count` is too large, hundreds or thousands of
times larger than `doris_total_tablet_schema_num`, it means that there are
large wide tables with hundreds or thousands of columns in the cluster. At this
time, the same number of tablets will occupy more memory.
-### 7 Query does not have complex operators but simply scans data, but it uses
a lot of memory
+## 7 Query does not have complex operators but simply scans data, but it uses
a lot of memory
It may be the memory occupied by the Column Reader and Index Read opened when
reading the Segment. Refer to [Metadata Memory
Analysis](./metadata-memory-analysis.md) to view the changes of
`doris_total_segment_num`, `doris_column_reader_num`,
`doris_ordinal_index_memory_bytes`, `doris_zone_map_memory_bytes`, and
`doris_short_key_index_memory_bytes` in Doris BE Bvar. This phenomenon is also
common when reading large wide tables. When hundreds of thousands of Column
Readers are opened, the [...]
diff --git
a/versioned_docs/version-3.0/admin-manual/memory-management/overview.md
b/versioned_docs/version-3.0/admin-manual/memory-management/overview.md
index e812d6ab66a..a97c51f3b62 100644
--- a/versioned_docs/version-3.0/admin-manual/memory-management/overview.md
+++ b/versioned_docs/version-3.0/admin-manual/memory-management/overview.md
@@ -34,6 +34,7 @@ When facing complex calculations and large-scale operations
with huge memory res

+```
Server physical memory: The physical memory used by all processes on the
server, MemTotal seen by `cat /proc/meminfo` or `free -h`.
|
|---> Linux Kernel Memory And Other Process Memory: Memory used by the
Linux kernel and other processes.
@@ -65,6 +66,7 @@ Server physical memory: The physical memory used by all
processes on the server,
| | |---> fragment: Same as query fragment
execution, stream load usually only has scan operator.
| | |
| | |---> channel: The tablet channel writes
data to a temporary data structure called memtable, and then the delta writer
compresses the data and writes it to the file.
+```
---
@@ -83,15 +85,10 @@ Memory Tracker is divided into different types. Among the
Memory Tracker of type
Memory Tracker has the following properties:
1. Label: the name of the Memory Tracker
-
2. Current Consumption(Bytes): the current memory value, in B.
-
3. Current Consumption(Normalize): the .G.M.K formatted output of the current
memory value.
-
4. Peak Consumption (Bytes): The peak memory value after the BE process is
started, in units of B, and reset after the BE is restarted.
-
5. Peak Consumption (Normalize): The .G.M.K formatted output of the peak
memory value after the BE process is started, and reset after the BE is
restarted.
-
6. Parent Label: Used to indicate the parent-child relationship between two
memory trackers. The memory recorded by the Child Tracker is a subset of the
Parent Tracker. The memory recorded by different trackers with the same Parent
may have an intersection.
For more information about Memory Tracker, refer to [Memory
Tracker](./memory-tracker.md).
@@ -104,10 +101,13 @@ Historical memory statistics can be viewed through Doris
BE's Bvar page `http://
When the error process memory exceeds the limit or the available memory is
insufficient, you can find the `Memory Tracker Summary` in the `be/log/be.INFO`
log, which contains all the Memory Trackers of `Type=overview` and
`Type=global`, to help users analyze the memory status at that time. For
details, please refer to [Memory Log Analysis](./memory-log-analysis.md)
+---
+
## Memory Analysis
Correspond the Memory Tracker of `type=overview` to each part of the memory
under `tracked` in the above memory structure:
+```
Doris BE Process Memory
|
|---> tracked: corresponds to `MemTrackerLimiter Label=sum of all
trackers, Type=overview`, which is all the memory counted by the Memory
Tracker, that is, the sum of the Current Consumption of other Memory Trackers
with `type=overview` except `Label=process resident memory` and `Label=process
virtual memory`.
@@ -138,6 +138,7 @@ Doris BE Process Memory
|---> Doris BE process physical memory, corresponding to
`MemTrackerLimiter Label=process resident memory, Type=overview`, Current
Consumption is taken from VmRSS in `/proc/self/status`, Peak Consumption is
taken from VmHWM in `/proc/self/status`.
|
|---> Doris BE process virtual memory, corresponding to `MemTrackerLimiter
Label=process virtual memory, Type=overview`, Current Consumption is taken from
VmSize in `/proc/self/status`, and Peak Consumption is taken from VmPeak in
`/proc/self/status`.
+```
Analysis methods for each part of the memory in the above memory structure:
@@ -149,10 +150,14 @@ Analysis methods for each part of the memory in the above
memory structure:
4. [Load memory analysis](./load-memory-analysis.md)
+---
+
## Memory problem FAQ
Refer to [Memory problem FAQ](./memory-issue-faq.md) to analyze common memory
problems.
+---
+
## Memory control strategy
-Refer to [Memory control strategy](./memory-control-strategy.md) for an
introduction to memory allocation, monitoring, and recycling to ensure
efficient and controllable memory of the Doris BE process.
+Refer to [Memory Control Strategy](./memory-control-strategy.md) for an
introduction to memory allocation, monitoring, and recycling, which ensure the
efficient and controllable memory of the Doris BE process.
diff --git a/versioned_sidebars/version-2.1-sidebars.json
b/versioned_sidebars/version-2.1-sidebars.json
index 16ffadf05e1..1f6b002f5b1 100644
--- a/versioned_sidebars/version-2.1-sidebars.json
+++ b/versioned_sidebars/version-2.1-sidebars.json
@@ -358,21 +358,33 @@
"type": "category",
"label": "Managing Memory",
"items": [
-
"admin-manual/memory-management/doris-cache-memory-analysis",
-
"admin-manual/memory-management/global-memory-analysis",
-
"admin-manual/memory-management/heap-profile-memory-analysis",
-
"admin-manual/memory-management/jemalloc-memory-analysis",
- "admin-manual/memory-management/load-memory-analysis",
-
"admin-manual/memory-management/memory-control-strategy",
- "admin-manual/memory-management/memory-issue-faq",
- "admin-manual/memory-management/memory-log-analysis",
- "admin-manual/memory-management/memory-tracker",
-
"admin-manual/memory-management/metadata-memory-analysis",
- "admin-manual/memory-management/oom-crash-analysis",
"admin-manual/memory-management/overview",
-
"admin-manual/memory-management/query-cancelled-after-process-memory-exceeded",
-
"admin-manual/memory-management/query-cancelled-after-query-memory-exceeded",
- "admin-manual/memory-management/query-memory-analysis"
+ "admin-manual/memory-management/memory-issue-faq",
+ {
+ "type": "category",
+ "label": "Managing Memory Analysis",
+ "items": [
+
"admin-manual/memory-management/memory-analysis/jemalloc-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/global-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/metadata-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/query-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/load-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded",
+
"admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded",
+
"admin-manual/memory-management/memory-analysis/oom-crash-analysis",
+
"admin-manual/memory-management/memory-analysis/memory-log-analysis",
+
"admin-manual/memory-management/memory-analysis/heap-profile-memory-analysis"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Managing Memory Feature",
+ "items": [
+
"admin-manual/memory-management/memory-feature/memory-tracker",
+
"admin-manual/memory-management/memory-feature/memory-control-strategy"
+ ]
+ }
]
},
{
diff --git a/versioned_sidebars/version-3.0-sidebars.json
b/versioned_sidebars/version-3.0-sidebars.json
index 0d9e5eb0be1..c789c1fc573 100644
--- a/versioned_sidebars/version-3.0-sidebars.json
+++ b/versioned_sidebars/version-3.0-sidebars.json
@@ -408,21 +408,33 @@
"type": "category",
"label": "Managing Memory",
"items": [
-
"admin-manual/memory-management/doris-cache-memory-analysis",
-
"admin-manual/memory-management/global-memory-analysis",
-
"admin-manual/memory-management/heap-profile-memory-analysis",
-
"admin-manual/memory-management/jemalloc-memory-analysis",
- "admin-manual/memory-management/load-memory-analysis",
-
"admin-manual/memory-management/memory-control-strategy",
- "admin-manual/memory-management/memory-issue-faq",
- "admin-manual/memory-management/memory-log-analysis",
- "admin-manual/memory-management/memory-tracker",
-
"admin-manual/memory-management/metadata-memory-analysis",
- "admin-manual/memory-management/oom-crash-analysis",
"admin-manual/memory-management/overview",
-
"admin-manual/memory-management/query-cancelled-after-process-memory-exceeded",
-
"admin-manual/memory-management/query-cancelled-after-query-memory-exceeded",
- "admin-manual/memory-management/query-memory-analysis"
+ "admin-manual/memory-management/memory-issue-faq",
+ {
+ "type": "category",
+ "label": "Managing Memory Analysis",
+ "items": [
+
"admin-manual/memory-management/memory-analysis/jemalloc-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/global-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/doris-cache-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/metadata-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/query-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/load-memory-analysis",
+
"admin-manual/memory-management/memory-analysis/query-cancelled-after-process-memory-exceeded",
+
"admin-manual/memory-management/memory-analysis/query-cancelled-after-query-memory-exceeded",
+
"admin-manual/memory-management/memory-analysis/oom-crash-analysis",
+
"admin-manual/memory-management/memory-analysis/memory-log-analysis",
+
"admin-manual/memory-management/memory-analysis/heap-profile-memory-analysis"
+ ]
+ },
+ {
+ "type": "category",
+ "label": "Managing Memory Feature",
+ "items": [
+
"admin-manual/memory-management/memory-feature/memory-tracker",
+
"admin-manual/memory-management/memory-feature/memory-control-strategy"
+ ]
+ }
]
},
{
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]