Re: Freeable memory in PGA

  • From: Stefan Koehler <contact@xxxxxxxx>
  • To: Oracle Mailinglist <oracle-l@xxxxxxxxxxxxx>, exriscer@xxxxxxxxx
  • Date: Tue, 10 Jan 2017 13:04:45 +0100 (CET)

Hey Cheng,
please do a (PGA/UGA) heap dump and check the chunks+heaps. Unfortunately you 
did not mention your database release, but you might can use
v$process_memory_detail for this as well. Heap dumps always work :-)

By the way PGA/UGA memory management is way more complex (and some views of 
like v$sesstat are not 100% correct anymore) due to realfree PGA heap
management (introduced with Oracle 9i), but freeable memory is eligible to be 
released to the operating system. However there are more than enough
bugs / memory leaks in this area ... so do a heap dump and identify the root 
cause :-)

Best Regards
Stefan Koehler

Freelance Oracle performance consultant and researcher
Homepage: http://www.soocs.de
Twitter: @OracleSK

Ls Cheng <exriscer@xxxxxxxxx> hat am 10. Januar 2017 um 11:45 geschrieben:

 Hi

 In one of DWH I take care of sometimes I observe allocated PGA (total PGA 
allocated in v$pgastat) increases up to around 40GB but used (total PGA
inuse in v$pgastat) only shows bwteeen 12GB and 18GB, it is caused by a PQ 
which reads 29000 million of rows. When checking V$PROCESS_MEMORY half of
parallel processes show large freeable memory but they are not freed to OS, I 
deduced this because I graphed OS Watcher data and while this query is
running (around 10 hours) the free memory drops 40GB, once the query is 
finished the whole 40GB is freed back to OS.

 So what does Freeable memory really mean in PGA? From the OS data it does 
not seem it is Freeable or perhaps the database simply hold the memory to
avoid constant allocation and deallocation of memory and only frees it when 
it detects PGA pressure?


 Thanks 

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


Other related posts: