可以使用 onstat -g mgm 命令显示有关内存分配管理器(MGM)资源信息。
可以使用 onstat -g mgm 命令监视 MGM 如何协调内存使用和扫描线程。此命令读取共享内存结构并提供在命令执行时的精确统计信息。
memory quantum = DS_TOTAL_MEMORY / DS_MAX_QUERIES
memory quantum = 4000 kilobytes / 31
= 129 kilobytes
数据库服务器根据分配内存的需求调整 quantum 的值。因此,onstat -g mgm 命令显示的 quantum 值并非一直精确。
scan thread quantum 总是等于 1。
图: onstat -g mgm 命令输出
Memory Grant Manager (MGM)
--------------------------
MAX_PDQPRIORITY: 100
DS_MAX_QUERIES: 31
DS_MAX_SCANS: 1048576
DS_NONPDQ_QUERY_MEM: 128 KB
DS_TOTAL_MEMORY: 4000 KB
Queries: Active Ready Maximum
0 0 31
Memory: Total Free Quantum
(KB) 4000 4000 128
Scans: Total Free Quantum
1048576 1048576 1
Load Control: (Memory) (Scans) (Priority) (Max Queries) (Reinit)
Gate 1 Gate 2 Gate 3 Gate 4 Gate 5
(Queue Length) 0 0 0 0 0
Active Queries: None
Ready Queries: None
Free Resource Average # Minimum #
-------------- --------------- ---------
Memory 0.0 +- 0.0 500
Scans 0.0 +- 0.0 1048576
Queries Average # Maximum # Total #
-------------- --------------- --------- -------
Active 0.0 +- 0.0 0 0
Ready 0.0 +- 0.0 0 0
Resource/Lock Cycle Prevention count: 0
输出的第一部分显示 PDQ 配置参数的值。
输出的第二部分描述 MGM 内部控制信息。它包括四组的信息。第一组是 Queries:
下一组是 Memory:
下一组是 Scans:
该部分输出的最后一组描述 MGM Load Control:
输出的下一部分 Active Queries 描述 MGM 活动的和就绪的队列。这部分输出显示在每个入口等待的查询的数量:
输出的下一部分 Free Resource 提供 MGM 可用资源的统计信息。这个部分和最后部分的数值反映自系统初始化或自上次 onmode -Q 、-M 或 -S 命令以来的统计信息。这部分输出包含以下信息:
输出的下一部分 Queries 提供关于 MGM 查询的统计信息: