Estimating Win32 address-space currently in use by Oracle.exe

  • From: "Peter Welker" <peter.welker@xxxxxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Wed, 3 Nov 2004 15:43:47 +0100 (CET)

Dear List,

I am looking for a good way to measure the "really" reserved memory (the
reserved address space = Working Set + pure VirtuallyAllocated memory) for
a running 9.2 database on Win32 (something that gives more reliable
information than the metalink docs 223730.1, 46001.1, 46053.1). Goal is to
prevent Oracle.exe from hitting the 2G / 3G limits on Win32 (AWE/PAE is
not possible on our application).

The following query tries to get an estimation without MTS and without
adjusting orastack before.

select sum(bytes)/1024/1024 Mb from
(select bytes from v$sgastat
union all
select value bytes from v$sesstat s inner join v$statname n using
(STATISTIC#) where name = 'session pga memory'
union all
select 100*1024*1024 bytes from dual
union all
select count(*)*700*1024 bytes from v$session
);

Actually, I'd like to know if I forgot something or if something is wrong
with this. Here is a description of the different parts:

1) get the SGA size
2) get the currently total use of PGA memory (containing the "visible"
part of the 1MB stack per thread/session?)
3) add 60 to 100 MB for Oracle.exe and DLLs (conservative = 100MB)
4) add 700k (the "unvisible" part of the stack) as VirtuallyAllocated per
thread/session

Did I miss something? Are my assumption correct (especially, the one with
the stack and it's "visibility"?)

Thanks for your answers in advance
Regards
Peter

--
//www.freelists.org/webpage/oracle-l

Other related posts:

  • » Estimating Win32 address-space currently in use by Oracle.exe