达梦:内存相关参数

devtools/2025/3/3 18:56:29/

目录

      • 28个相关参数
      • 1. 内存池相关
        • `MEMORY_POOL`
        • `MEMORY_N_POOLS`
        • `MEMORY_BAK_POOL`
      • 2. 大缓冲区相关
        • `HUGE_BUFFER`
        • `HUGE_BUFFER_POOLS`
      • 3. 共享缓冲区相关
        • `BUFFER`
        • `BUFFER_POOLS`
        • `BUFFER_MODE`
        • `MAX_BUFFER`
      • 4. 快速池相关
        • `FAST_POOL_PAGES`
      • 5. 回收池相关
        • `RECYCLE_POOLS`
      • 6. 回滚段池相关
        • `ROLLSEG_POOLS`
      • 7. 其他池相关
        • `MAIL_VPOOL_SIZE`
        • `VM_POOL_SIZE` 和 `VM_POOL_TARGET`
        • `SESS_POOL_SIZE` 和 `SESS_POOL_TARGET`
        • `COLDATA_POOL_SIZE`
        • `CACHE_POOL_SIZE`
        • `RLOG_POOL_SIZE` 和 `LOG_POOL_SIZE`
        • `BCT_POOL_SIZE`
      • 8. 其他参数
        • `POOL_CLEAR_FLAG`
        • `MEM_POOL_EXTEND_MODE`
      • 其他参数详细说明:

28个相关参数

SELECT NAME, TYPE, VALUE, DEFAULT_VALUE 
FROM v$parameter 
WHERE name LIKE '%BUFFER%' OR name LIKE '%POOL%';

在这里插入图片描述
以下是对查询结果中各个参数的详细说明,包括参数作用和推荐值:

1. 内存池相关

MEMORY_POOL
  • 参数作用:该参数定义了数据库使用的内存池的初始大小。内存池用于管理数据库运行过程中的内存分配,为各种操作提供内存资源。
  • 推荐值:一般建议设置为服务器物理内存的 10% - 30%。如果数据库的并发操作较多、数据量较大,可适当提高该值;若服务器上还有其他应用程序,需要综合考虑降低比例。例如,对于 16GB 物理内存的服务器,可设置为 2GB - 4GB 左右(2048 - 4096MB) 。
MEMORY_N_POOLS
  • 参数作用:指定内存池的数量。多个内存池可以提高内存分配的并发性能,减少内存分配的竞争。
  • 推荐值:通常设置为 1 即可满足大多数场景。如果数据库并发访问非常高,可适当增加该值,但一般不超过 CPU 核心数。
MEMORY_BAK_POOL
  • 参数作用:用于备份操作的内存池大小。备份操作需要一定的内存来缓存数据,以提高备份效率。
  • 推荐值:根据备份数据量的大小来调整。如果备份数据量较小,可设置为较小的值,如 4MB;如果备份数据量较大,可适当增大,但一般不超过服务器物理内存的 5%。

2. 大缓冲区相关

HUGE_BUFFER
  • 参数作用:设置大缓冲区的大小。大缓冲区主要用于处理大数据块的读写操作,例如大表的全量扫描、批量数据加载等。
  • 推荐值:可根据数据库中大数据操作的频率和数据量来调整。一般可以设置为 80 - 200MB 。如果数据库中经常有大数据量的操作,可适当增大该值。
HUGE_BUFFER_POOLS
  • 参数作用:指定大缓冲区池的数量。多个大缓冲区池可以提高大缓冲区分配的并发性能。
  • 推荐值:通常设置为 4 即可满足大多数场景。如果大缓冲区的并发使用非常高,可适当增加该值,但一般不超过 CPU 核心数。

3. 共享缓冲区相关

BUFFER
  • 参数作用:设置数据库的共享缓冲区大小。共享缓冲区用于缓存数据页和索引页,减少磁盘 I/O 操作,提高数据库的读写性能。
  • 推荐值:一般建议设置为服务器物理内存的 20% - 50%。如果服务器主要运行达梦数据库且 I/O 负载大,可适当提高比例;若还有其他应用程序,则需综合考虑降低比例。例如,对于 16GB 物理内存的服务器,可设置为 4GB - 8GB 左右(4096 - 8192MB) 。
BUFFER_POOLS
  • 参数作用:指定共享缓冲区池的数量。多个共享缓冲区池可以提高共享缓冲区分配的并发性能。
  • 推荐值:根据服务器的 CPU 核心数和并发访问情况来调整。一般可以设置为 CPU 核心数的一半到两倍之间。
BUFFER_MODE
  • 参数作用:设置共享缓冲区的工作模式。不同的模式会影响缓冲区的管理策略和性能。
  • 推荐值:一般使用默认值 0 即可。如果对数据库性能有特殊要求,可以参考达梦数据库官方文档进行调整。
MAX_BUFFER
  • 参数作用:设置共享缓冲区的最大可使用大小。当数据库对缓冲区的需求增加时,在不超过 MAX_BUFFER 的限制下,BUFFER 可以动态增长。
  • 推荐值:通常设置为略大于 BUFFER 的值,例如 BUFFER 设置为 4GB,MAX_BUFFER 可以设置为 4.5GB - 5GB 左右。

4. 快速池相关

FAST_POOL_PAGES
  • 参数作用:设置快速池的页面数量。快速池用于快速分配和释放小内存块,提高内存分配的效率。
  • 推荐值:一般使用默认值 3000 即可。如果数据库中频繁进行小内存块的分配和释放操作,可以适当增加该值。

5. 回收池相关

RECYCLE_POOLS
  • 参数作用:指定回收池的数量。回收池用于管理不再使用的内存块,以便重新分配给其他操作。
  • 推荐值:通常设置为 19 即可满足大多数场景。如果数据库的内存回收操作比较频繁,可以适当增加该值。

6. 回滚段池相关

ROLLSEG_POOLS
  • 参数作用:指定回滚段池的数量。回滚段用于记录事务的回滚信息,保证事务的原子性和一致性。
  • 推荐值:一般设置为 1 即可。如果数据库的并发事务非常多,可以适当增加该值。

7. 其他池相关

MAIL_VPOOL_SIZE
  • 参数作用:设置邮件虚拟池的大小。该参数可能与数据库的邮件通知功能相关,用于缓存邮件相关的数据。
  • 推荐值:一般使用默认值 128MB 即可。如果邮件通知比较频繁,可以适当增加该值。
VM_POOL_SIZEVM_POOL_TARGET
  • 参数作用VM_POOL_SIZE 设置虚拟内存池的初始大小,VM_POOL_TARGET 设置虚拟内存池的目标大小。虚拟内存池用于管理数据库的虚拟内存分配。
  • 推荐值VM_POOL_SIZE 可以设置为服务器物理内存的 5% - 10%,VM_POOL_TARGET 可以设置为略大于 VM_POOL_SIZE 的值。
SESS_POOL_SIZESESS_POOL_TARGET
  • 参数作用SESS_POOL_SIZE 设置会话池的初始大小,SESS_POOL_TARGET 设置会话池的目标大小。会话池用于管理数据库的会话连接,提高会话的创建和销毁效率。
  • 推荐值SESS_POOL_SIZE 可以根据数据库的并发会话数量来设置,一般可以设置为最大并发会话数的 10% - 20%;SESS_POOL_TARGET 可以设置为略大于 SESS_POOL_SIZE 的值。
COLDATA_POOL_SIZE
  • 参数作用:设置冷数据池的大小。冷数据池用于缓存不经常访问的数据,以减少内存的占用。
  • 推荐值:如果数据库中有大量不经常访问的数据,可以适当增大该值;如果数据访问比较均匀,可以设置为 0 。
CACHE_POOL_SIZE
  • 参数作用:设置缓存池的大小。缓存池用于缓存经常访问的数据和对象,提高数据的访问速度。
  • 推荐值:一般建议设置为服务器物理内存的 5% - 15%。
RLOG_POOL_SIZELOG_POOL_SIZE
  • 参数作用RLOG_POOL_SIZE 设置重做日志池的大小,LOG_POOL_SIZE 设置日志池的大小。日志池用于缓存数据库的日志信息,减少日志写入磁盘的次数,提高日志写入性能。
  • 推荐值:通常可设置为服务器物理内存的 1% - 5%。
BCT_POOL_SIZE
  • 参数作用:设置 BCT(块变更跟踪)池的大小。BCT 用于跟踪数据块的变更信息,提高备份和恢复的效率。
  • 推荐值:一般使用默认值 256MB 即可。如果数据库的数据变更比较频繁,可以适当增加该值。

8. 其他参数

POOL_CLEAR_FLAG
  • 参数作用:设置内存池的清理标志。该参数控制内存池在何时进行清理操作,以释放不再使用的内存。
  • 推荐值:一般使用默认值 0 即可。如果需要定期清理内存池,可以根据实际情况进行调整。
MEM_POOL_EXTEND_MODE
  • 参数作用:设置内存池的扩展模式。不同的扩展模式会影响内存池在需要扩展时的行为。
  • 推荐值:一般使用默认值 7 即可。如果对内存池的扩展性能有特殊要求,可以参考达梦数据库官方文档进行调整。

需要注意的是,以上推荐值仅为参考,实际设置时需要根据数据库的具体情况、服务器的硬件配置和业务需求进行综合考虑和调整。在调整参数后,建议进行性能测试,观察数据库的性能变化,以确保参数设置的合理性。

以下是优化后的参数设置代码,结构更清晰,注释更完善:

-- 系统参数设置优化
SP_SET_PARA_VALUE(2, 'WORKER_THREADS', 8);                 -- 根据系统CPU数量调整线程数量,建议设置为CPU核心数
SP_SET_PARA_VALUE(2, 'MEMORY_POOL', 1500);                 -- 分配总内存的10%,用于内存池
SP_SET_PARA_VALUE(2, 'MEMORY_N_POOLS', 3);                 -- 以100MB为单位,根据MEMORY_POOL大小调整
SP_SET_PARA_VALUE(2, 'BUFFER', 6000);                      -- 分配总内存的40%,用于缓冲区
SP_SET_PARA_VALUE(2, 'MAX_BUFFER', 6000);                  -- 与BUFFER值相同,用于限制缓冲区最大值
SP_SET_PARA_VALUE(2, 'BUFFER_POOLS', 23);                  -- 缓冲池数量,推荐值为BUFFER/280
SP_SET_PARA_VALUE(2, 'SORT_BUF_GLOBAL_SIZE', 1000);         -- 排序缓存大小设置,默认1000M
SP_SET_PARA_VALUE(2, 'RLOG_POOL_SIZE', 1024);               -- RLOG(重做日志)池大小
SP_SET_PARA_VALUE(2, 'CACHE_POOL_SIZE', 512);              -- 缓存池大小,推荐值根据内存大小调整

其他参数详细说明:

  1. WORKER_THREADS

    • :8
    • 说明:建议设置为系统CPU核心数,确保每个CPU核心都有足够的线程处理任务。
  2. MEMORY_POOL

    • :1500(单位:MB)
    • 说明:该参数表示内存池的大小,设置为总内存的10%。如果总内存为15GB,则10%即为1500MB。
  3. MEMORY_N_POOLS

    • :3
    • 说明:内存池数量,建议值为 MEMORY_POOL / 500,用于优化内存管理。
  4. BUFFER

    • :6000(单位:MB)
    • 说明:缓冲区大小,建议设置为总内存的40%。如果总内存为15GB,40%即为6000MB。
  5. MAX_BUFFER

    • :6000(单位:MB)
    • 说明:与 BUFFER 值相同,确保缓冲区不会超出最大限制。
  6. BUFFER_POOLS

    • :23
    • 说明:缓冲池的数量,推荐值为 BUFFER / 280。例如,6000 / 280 ≈ 21.4,取23作为四舍五入后的推荐值。
  7. SORT_BUF_GLOBAL_SIZE

    • :1000(单位:MB)
    • 说明:全局排序缓冲大小,默认1000MB。根据系统内存大小调整:
      • 内存 <16GB → 建议设置为500MB
      • 16GB < 内存 <64GB → 建议设置为2000MB
      • 内存 >64GB → 建议设置为5120MB
  8. RLOG_POOL_SIZE

    • :1024(单位:MB)
    • 说明:RLOG(重做日志)池大小,根据系统内存调整:
      • 内存 <16GB → 建议设置为256MB
      • 16GB < 内存 <64GB → 建议设置为1024MB
      • 内存 >64GB → 建议设置为2048MB
  9. CACHE_POOL_SIZE

    • :512(单位:MB)
    • 说明:缓存池大小,默认20MB。建议值根据系统内存调整:
      • 内存 <16GB → 建议设置为200MB
      • 16GB < 内存 <64GB → 建议设置为1024MB
      • 内存 >64GB → 建议设置为2048MB

http://www.ppmy.cn/devtools/164251.html

相关文章

网络空间安全(6)web应用程序技术

前言 Web应用程序技术是指用于开发和构建基于Web的应用程序的技术和工具&#xff0c;涵盖了前端开发、后端开发、数据库管理、安全性等多个方面的技术。 一、前端开发技术 HTML/CSS/JavaScript&#xff1a;HTML用于构建网页结构&#xff0c;CSS用于进行样式设计&#xff0c;Jav…

【前端基础】3、HTML的常用元素(h、p、img、a、iframe、div、span)、不常用元素(strong、i、code、br)

HTML结构 一个HTML包含以下部分&#xff1a; 文档类型声明html元素 head元素body元素 例&#xff08;CSDN&#xff09;&#xff1a; 一、文档类型声明 HTML最一方的文档称为&#xff1a;文档类型声明&#xff0c;用于声明文档类型。即&#xff1a;<!DOCTYPE html>…

关于JavaScript性能问题的误解

因为 JavaScript 是单线程的&#xff0c;所以只能从上到下一行一行去执行代码&#xff0c;如果遇到大的数据量计算就会比较耗时&#xff0c;也就是我们大部分人理解的性能有问题。 写这篇文章的缘由 写这篇文章的缘由是因为公司的一个前端同事&#xff0c;抱怨为了实现产品想…

基于DeepSeek 的图生文最新算法 VLM-R1

目录 一、算法介绍 二 算法部署 三 模型下载 四 算法测试 五 可视化脚本 一、算法介绍 VLM-R1:稳定且可通用的 R1 风格大型视觉语言模型 自从 Deepseek-R1 推出以来,出现了许多专注于复制和改进它的作品。在这个项目中,我们提出了 VLM-R1,一种稳定且可通用的 R1 风格…

【Linux网络#13】:网络层(IP 协议 网络通信 全球网络 路由转发)

&#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;Linux—登神长阶 ⛺️ 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&#x1f3fd;留言 &#x1f60d;收藏 &#x1f49e; &#x1f49e; &#x1f49e; 最后的最后&#xff0c;这里送…

对“预训练”的理解

预训练有什么用 传统的机器学习是偏数学的&#xff0c;对数据的量不做过多要求&#xff0c;而深度学习的项目通常是有大量的数据可供使用。 在平常的任务或者项目中&#xff0c;我们可能并没有大量数据&#xff0c;只有少量数据&#xff0c;在这时我们就可以通过“借用”有大…

Vim 常用快捷键大全:跳转、编辑、查找替换全解析

摘要&#xff1a; Vim 是一款非常强大的文本编辑器&#xff0c;许多程序员和系统管理员都离不开它。 本文详细介绍了 Vim 编辑器中的常用快捷键和命令&#xff0c;从基本模式、光标移动、编辑操作到查找替换&#xff0c;再到文件保存等常用操作&#xff0c;帮助你快速上手并提…

DifyでOracle Base Database Service(23ai)を利用する設定手順

[TOC](DifyでOracle Base Database Service(23ai)を利用する設定手順) はじめに 本記事では、DifyプラットフォームとOracle Base Database Service&#xff08;23aiエディション&#xff09;を連携させる方法を解説します。クラウド環境における大規模データ処理を想定した設…