Re: Session PGA increase
- From: GovindanK <gkatteri@xxxxxxxxx>
- To: Dion Cho <ukja.dion@xxxxxxxxx>
- Date: Thu, 21 Jan 2010 18:00:02 -0800
I do see the PGA increasing , so it is an expected behaviour. The PGA
does get released when the session disconnects as seen below (as you had
also mentioned). This is on 10.2.0.3. The reason why Domagoj is seeing
increase in PGA must be due to the fact that the parent process is
probably not exitting.
SYSTEM@mydb >REM XXXXXXXXXXXXXXXXXXXXXXXXXX
SYSTEM@mydb >REM X Run 1 X
SYSTEM@mydb >REM XXXXXXXXXXXXXXXXXXXXXXXXXX
SYSTEM@mydb >create or replace package my_pkg
2 as
3 type array is table of char(2000) index by binary_integer;
4 gk_data array;
5 end;
6 /
Package created.
SYSTEM@mydb >ALTER SYSTEM FLUSH SHARED_POOL
2 /
System altered.
SYSTEM@mydb >select a.name, to_char(b.value, '999,999,999') value
2 from v$statname a, v$mystat b
3 where a.statistic# = b.statistic#
4 and a.name like '%ga memory%'
5 /
NAME VALUE
---------------------------------------- ------------
session uga memory 1,613,072
session uga memory max 5,006,984
session pga memory 2,461,512
session pga memory max 5,672,776
SYSTEM@mydb >begin
2 for i in 1 .. 10000
3 loop
4 my_pkg.gk_data(i) := 'x';
5 end loop;
6 end;
7 /
PL/SQL procedure successfully completed.
SYSTEM@mydb >select a.name, to_char(b.value, '999,999,999') value
2 from v$statname a, v$mystat b
3 where a.statistic# = b.statistic#
4 and a.name like '%ga memory%'
5 /
NAME VALUE
---------------------------------------- ------------
session uga memory 33,008,912
session uga memory max 33,132,424
session pga memory 33,853,256
session pga memory max 33,853,256
SYSTEM@mydb >REM XXXXXXXXXXXXXXXXXXXXXXXXXX
SYSTEM@mydb >REM X Run 2 X
SYSTEM@mydb >REM XXXXXXXXXXXXXXXXXXXXXXXXXX
SYSTEM@mydb >begin
2 for i in 10001 .. 20000
3 loop
4 my_pkg.gk_data(i) := 'x';
5 end loop;
6 end;
7 /
PL/SQL procedure successfully completed.
SYSTEM@mydb >select a.name, to_char(b.value, '999,999,999') value
2 from v$statname a, v$mystat b
3 where a.statistic# = b.statistic#
4 and a.name like '%ga memory%'
5 /
NAME VALUE
---------------------------------------- ------------
session uga memory 64,143,120
session uga memory max 64,266,632
session pga memory 65,113,928
session pga memory max 65,113,928
Elapsed: 00:00:00.20
SYSTEM@mydb >REM XXXXXXXXXXXXXXXXXXXXXXXXXX
SYSTEM@mydb >REM X Run 3 X
SYSTEM@mydb >REM XXXXXXXXXXXXXXXXXXXXXXXXXX
SYSTEM@mydb >begin
2 for i in 20001 .. 30000
3 loop
4 my_pkg.gk_data(i) := 'x';
5 end loop;
6 end;
7 /
PL/SQL procedure successfully completed.
SYSTEM@mydb >select a.name, to_char(b.value, '999,999,999') value
2 from v$statname a, v$mystat b
3 where a.statistic# = b.statistic#
4 and a.name like '%ga memory%'
5 /
NAME VALUE
---------------------------------------- ------------
session uga memory 95,342,736
session uga memory max 95,466,248
session pga memory 96,374,600
session pga memory max 96,374,600
SYSTEM@mydb >spool off
SYSTEM@mydb >quit
Disconnected from Oracle Database 10g Enterprise Edition Release
10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing
options
gkatteri>
gkatteri>
gkatteri>
gkatteri>sqlplus system@mydb
SQL*Plus: Release 10.2.0.1.0 - Production on ......
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing
options
SYSTEM@mydb >select a.name, to_char(b.value, '999,999,999') value
2 from v$statname a, v$mystat b
3 where a.statistic# = b.statistic#
4 and a.name like '%ga memory%'
5 /
NAME VALUE
---------------------------------------- ------------
session uga memory 1,416,848
session uga memory max 1,540,360
session pga memory 2,264,904
session pga memory max 2,264,904
SYSTEM@mydb >
HTH
GovindanK
Dion Cho wrote:
I don't think that this is an expected behavior especially when the
collections are cleared after each iteration as OP insisted.
There could be some memory leaks around the external tables and/or the
collections.
--
http://www.freelists.org/webpage/oracle-l
Other related posts: