使用 onstat -g mem 和 onstat -g stm 命令来获取有关每个会话所用内存的信息。
您可以 通过 onstat -g ses 输出的 used memory 列来确定要关注哪个会话。
onstat -g mem 16 输出的 totalsize 列显示了 分配给会话的内存总量。
下图中 onstat -g stm 16 输出的 heapsz 列显示为当前准备的 SQL 语句分配的内存量。
图: 用于确定会话内存的 onstat -g mem 和 onstat -g stm
onstat -g ses
session #RSAM total used
id user tty pid hostname threads memory memory
18 gbasedbt - 0 - 0 12288 8928
17 gbasedbt 12 28826 lyceum 1 45056 33752
16 virginia 6 28743 lyceum 1 90112 79504
14 virginia 7 28734 lyceum 1 45056 33096
3 gbasedbt - 0 - 0 12288 10168
2 gbasedbt - 0 - 0 12288 8928
onstat -g mem 16
Pool Summary:
name class addr totalsize freesize #allocfrag #freefrag
16 V a9ea020 90112 10608 159 5
...
onstat -g stm 16
session 16 ---------------------------------------------------------------
sdblock heapsz statement ('*' = Open cursor)
aa0d018 10056 *SELECT C.customer_num, O.order_num
FROM customer C, orders O, items I
WHERE C.customer_num = O.customer_num
AND O.order_num = I.order_num