1834163 Members
2520 Online
110064 Solutions
New Discussion

Where is my memory?

 
Kay Liesenfeld
Frequent Advisor

Where is my memory?

Hi,

I recognized that more than 20% of physical RAM is used by some processes, even when our Oracle database is down.

/ #swapinfo -t
Kb Kb Kb PCT START/ Kb
TYPE AVAIL USED FREE USED LIMIT RESERVE PRI NAME
dev 4194304 223812 3970492 5% 0 - 1 /dev/vg00/lvol2
reserve - 1136740 -1136740
memory 3110260 697968 2412292 22%
total 7304564 2058520 5246044 28% - 0 -

How can I find out what processes use that RAM?

Regards,
Kay.
11 REPLIES 11
Ross Zubritski
Trusted Contributor

Re: Where is my memory?

Kay,

Do you have Glance +?

Regards,

RZ
Kay Liesenfeld
Frequent Advisor

Re: Where is my memory?

no, my boss didn't want to spend money for that "useless" tools... ;-)
Rita C Workman
Honored Contributor

Re: Where is my memory?

Oracle down....

Before I tend to go checking for processes on boxes I start looking at...I start by looking at dbc_max_% and dbc_min_%.

So I might ask...how much memory do you have?
What O/S are you running?
And what are those 2 little beauties mentioned above set at?

Just a thought from my old memory,
Rita


Jdamian
Respected Contributor

Re: Where is my memory?

You can found a 60-days trial version of Glance in Application CDs.

Install and run it.
Christian Gebhardt
Honored Contributor

Re: Where is my memory?

Hi

Try this:

export UNIX95=""
ps -efo vsz,sz,args | sort -n

with UNIX95 you can switch the ps-command to XPG4 mode, than you have more options for the ps-command, look at man ps.

sz: The size in physical pages of the core image
vsz: The size in kilobytes (1024 byte units) of the core image of the process

Chris
Jdamian
Respected Contributor

Re: Where is my memory?

The 'memory' line from 'swapinfo' output shows the blocked memory (i.e. the amount of memory that won't be moved to swap) as shared memory segments.

The remaining memory is used to run processes, i.e, either perhaps it's free or it's being used by other processes.
Jdamian
Respected Contributor

Re: Where is my memory?

Use 'ipcs -ma' to show the shared memory segments.
Kay Liesenfeld
Frequent Advisor

Re: Where is my memory?

Rita,

dbc_min_pct is 5,
dbc_max_pct is 50.

The machine has 4 GB of RAM, it's 11.11 running. Latest patchset.

Oracle SGA was ~ 1.6 GB and we have had 100% of physical RAM used one hour ago. Then I stopped Oracle, lowered the SGA to 0.7 GB and now we have 48% used. That is too much at all, I think.

Christian:

Thank you for the hint. Actually we have Oracle running again so I'll check this when we have next downtime. Apart from that, there were not much processes and as mentioned before, about 50% of physical RAM is used. (by what???)

Unfortunately we don't have these Application CDs. Can I download this Glance trial from somewhere?

Kay.

Bill Hassell
Honored Contributor

Re: Where is my memory?

dbc_max_pct is just plain wrong for servers, especially like Oracle. Drop dbc_max_pct to about 15. Using 100% of RAM is just fine as long as the page-out rate (you can use vmstat to see this under po) is 1 to 2 digits max. Reducing the SGA for Oracle can directly impact Oracle's performance.


Bill Hassell, sysadmin
Sridhar Bhaskarla
Honored Contributor

Re: Where is my memory?

Hi Kay,

It may be looking ok now but you did have something (around 223MB) on the swap now. This might have happened when the memory was at 100% and the system started paging out the least used pages. They may continue to sit until they need to be accessed again.

As mentioned already, keep looking at the 'po' column of your 'vmstat' output. If it is a significant number while you are at 100% memory utilization, then it's not a good sign.

An immediate relief would be to resize your dbc_max_pct. Since you have 4GB, you may want to set your dbc_max_pct between 8-10% and dbc_min_pct to around 2%.

-Sri
You may be disappointed if you fail, but you are doomed if you don't try
Rita C Workman
Honored Contributor

Re: Where is my memory?

Hi Kay,

Sorry for delay in responding..Bill Hassell has mentioned one thing. Reduce that dbc_max_%. He said 15% (which is good) and maybe you can get it down to 10%. This little guy is what the system grabs 'off the top' from memory. So you don't want it taking 50% of what you got....see the point.
Now you said your running 11.11, so my next question is what version of Oracle are you running? Are you running 32 bit or 64 bit binaries?. Start looking at the parms, like shmemax, maxd,maxt,maxs.
As Bill mentioned if you drop the SGA down..you are really putting a strangle hold on Oracle. And depending on what version and what bit you are running there are minimum requirements.
You may have 4 gb of ram, but if your running 32bit on the O/S you won't get the full potential of all that memory...Now if your running 64bit O/S things begin to change.

Let us know what Oracle version your running and the bit size for both O/S and Oracle binaries your running at....And let's all keep going on this.
Remember, tuning a kernel is as much an art...as a science.

Rgrds,
Rita

..on vacation...sort of...