更新日期:2024年09月11日
内存管理设置(SQL 管理 API)
随同 admin() 或 task() 函数,使用 scheduler lmm enable 参数来启动自动的低内存管理并
更新低内存阈值设置。
语法
元素
描述
关键考虑
start_threshold_size
您想要数据库服务器保持
的空闲内存量。
如果内存量
少于
start_threshold_size,
则
服务器自动地释放内存并
终止应用。
该值可表示为 SHMTOTAL
配置参数值的百分率或特
定数量。
如果该值小于 50,
则认为是百分率。
输入参数
的结果值必须大于 5
MB 且
小于 95 MB。
缺省值为 5 MB。
在 LMM START THRESHOLD
与 LMM STOP THRESHOLD 之
间必须至少差 5 MB
GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 786 -
元素
描述
关键考虑
stop_threshold_size
在服务器停止自动释放内
存和终止应用之前,
您想要
数据库服务器拥有的空闲
内存量。
该值可表示为 SHMTOTAL
配置参数值的百分率或特
定数量。
如果该值小于 50,
则认为是百分率。
输入参数
的结果值必须大于 10 MB
且小于 100 MB。该值还必
须至少比 LMM START
THRESHOLD 多 5 MB。
缺省值为 10 MB。
minimum_amount_of_time
定义会话为空闲的时间量,
以秒为单位
该值必须在 1 与 86400
之间。
缺省值为 300 秒。
用法
随同 admin() 或 task() 函数,您使用 scheduler lmm disable 参数来在主数据库服务
器或标准数据库服务器中停止当前和后续的低内存管理进程。 当触发低内存管理时,数据
库服务器按下列顺序执行这些任务:
1. 数据库服务器终止会话,从会话有最大的空闲时间量开始一次启动一个,如有必要
继续到会话有最小空闲时间量,时间量超过 LMM IDLE TIME 设置中指定的数量。
当达到 LMM STOP THRESHOLD 时,服务器停止终止会话。
2. 数据库服务器终止会话,从使用最多内存的会话开始,如有必要继续到使用最小内
存量的会话,直到达到 LMM STOP THRESHOLD。
3. 通过设置 VP_MEMORY_CACHE 配置参数为 0,数据库服务器执行内存重新配置,并
运行 onmode -F 命令来释放不用的共享内存段。
当低内存管理操作完成时,通过将 VP_MEMORY_CACHE 配置参数设置回其原始值,低内存管
理器返回到监视模式并恢复数据库服务器的内存配置。
数据库服务器在 ph_threshold 表中存储自动低内存管理设置。
您可用 onstat -g lmm 命令查看低内存管理设置和近期的活动。
注意:
如果您启用自动的低内存管理并配置数据库服务器来使用 SHMTOTAL 配置参数指定
值的百分率作为启动和停止阈值,则当更改 SHMTOTAL 配置参数值时请使用警告。更改
SHMTOTAL 配置参数值可导致自动低内存管理的配置变得无效,强制 GBase
8s 使用缺省设
置。
设置低内存管理阈值设置的示例
GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 787 -
下列示例指定当数据库服务器有 10
MB 或更少的空闲内存时,服务器会启动自动低内存管
理停止应用并释放内存。该示例还指定如果会话尚未运行 300 秒则认为会话空闲,该示例
指定当服务器有 20 MB 或更多空闲内存时会停止自动低内存管理。
EXECUTE FUNCTION task("scheduler lmm enable",
"LMM START THRESHOLD", "10MB",
"LMM STOP THRESHOLD", "20MB",
"LMM IDLE TIME", "300");
SHMTOTAL 配置参数影响低内存管理阈值设置的示例
假定您设置 SHMTOTAL 配置参数为 1000000(1000
MB 或 1
GB),LMM
START
THRESHOLD 为
2,且 LMM STOP THRESHOLD 为 3。因为任何小于 50 的值都是 SHMTOTAL 值的百分率,所
以实际的 LMM
START
THRESHOLD 为 20000
(20
MB)
且实际的 LMM
STOP
THRESHOLD 为 30000
(30 MB)。
当剩余空闲内存为 20
MB 或更少时,
数据库服务器开始管理低内存,
且当空闲内存量为 30
MB 或更多时,停止管理内存。
假定您决定更改 SHMTOTAL 配置参数的值,因为您知道现在不需要这么多内存,您想要让
操作系统使用内存。
请您设置 SHMTOTAL 的值为 250000
(250
MB)
。
这更改实际的 LMM
START
THRESHOLD 为 5000(5 MB),实际的 LMM STOP THRESHOLD 为 7500(7.5 MB)。LMM STOP
THRESHOLD 现在无效,因为 LMM START THRESHOLD 与 LMM STOP THRESHOLD 值之间必须至
少差 5 MB。LMM STOP THRESHOLD 值还必须至少为 10 MB。
对于您的系统,你可能已经决定差 10 MB 是正确的数量。但是差 5 MB,数据库服务器可
能会在低内存管理进程上花费太多的时间,这可能导致性能问题。