Re: Free memory in server and session PGA memory
Date: Mon, 14 Nov 2011 09:59:21 +0100
Message-ID: <4EC0D869.3090807_at_gmail.com>
Hi,
not answering your question but trying to point out a somehow related issue.
The first command I run on Solaris 10 when I need to investigate memory
issues is:
echo ::memstat | mdb -k
This will give you an idea how much memory is allocated for the OS and
for ZFS (if used),
it's quite frequent to leave ZFS to allocate as much memory as it needs
for its cache (i.e. by not setting zfs:zfs_arc_max in /etc/system).
As far as the WLS connection pool configuration is concerned, I believe the settings (and eventual bugs related to connection pool leaking) will depend on your exact version. If you determine that there is a problem with your connection pool configuration settings, you can check the manual on otn:
Timeout
Specify the amount of time and in what increment (such as minutes) that a connection to the data source remains open after a request completes. During this time, new requests use this connection rather than open a new one (up to the number specified for the maximum connections). The time is reset after each completed connection request.
Hope this helps.
Regards
Dimitre
On 14/11/2011 03:11, Sreejith S Nair wrote:
> Hi Friends,
>
> Environment : Solaris 10 , oracle 11.2.0.2
>
> We have our production databases monitored by the BMC portal application. We often get alerts and warnings on free memory on the server. Say my server has 24 GB physical memory, we will get an alert when it comes down 2.4GB which is 10%.
>
> We troubleshoot this starting with vmstat command and we can see the 'free' part in vmstat do report a value less than 3 GB. This server is part of a two node rac which hosts two databases. If I do a ps command sort on pmem I can see that the processes consuming most memory ( which has pmem field , which is a ratio as 4 - 5 ) are oracle server processes ( oracle<ORACLE_SID>(LOCAL=NO)). Now IF I check what these processes are doing I can see that these are coming from jdbc thin client ( yes, we use weblogic). Most of these sessions coming top in ps command are now INACTIVE. So my understanding is that these are app server connections which were once took for doing something and later released to connection pool. The question here are
>
> 1. Why memory taken by these processes ( of course from PGA ) are not released to OS after use.
> 2. I understand this is default weblogic behavior of keeping connections in pool and use them when they need. But considering memory associated with these are still not released to OS , is this an efficient way ?
> 3. If I check the wait event of these INACTIVE sessions they have ' SQL Net wait '. Again , is this a good behavior from weblogic ?
> 4. I have also run Tanel's procmm and noticed the Anon memory almost equals to 'PGA used by this session' from v$sesstat which again confirms that 'unused memory' ( once used) is still associated with the process.
>
> I would like to get help from experts who might have already thought about this and will have answer to my questions, which in a way may not e relevant.
>
> PS : I already have an SR open for which I did not get a proper response.
>
> Best Regards,
> Sreejith
> -- Sent from my iPhone
>
>
> DISCLAIMER: "The information in this e-mail and any attachment is intended only for the person to whom it is addressed and may contain confidential and/or privileged material. If you have received this e-mail in error, kindly contact the sender and destroy all copies of the original communication. IBS makes no warranty, express or implied, nor guarantees the accuracy, adequacy or completeness of the information contained in this email or any attachment and is not liable for any errors, defects, omissions, viruses or for resultant loss or damage, if any, direct or indirect." --
> http://www.freelists.org/webpage/oracle-l
>
>
-- http://www.freelists.org/webpage/oracle-lReceived on Mon Nov 14 2011 - 02:59:21 CST