Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

AIX - Oracle RAM issues

Status
Not open for further replies.

dawaves

MIS
Jul 15, 2002
13
US
Hello,

I'm posting this in the AIX area for those who may have an idea.

I'm a AIX admin and the Oracle DBA and I have been working on an issue where Oracle seems to want all the RAM it can have.

Is it the case that Oracle Processes will take up as much RAM as possible? It seems everytime that Oracle Processes take up all the available RAM in our Production System. So everytime we add more RAM, it takes more up. Is this normal?

We are running AIX 5.3 ML04 w/ Oracle 10g Server. We have mounted the /oradata directory w/ the CIO option which bypasses the file buffer area in memory to help out a bit.

I thought the SGA and PGA areas were supposed to limit Oracle's usage of RAM or at least cap it to a certain point.

Whenever I see what's occupying RAM using 'svmon -P', it's all Oracle Processes.

What are other ORACLE/Unix shops doing to control RAM usage? How much physical RAM do you have in your servers? and how much does Oracle take up?

Thanks!
 
Are you sure that it's Oracle?

AIX, with default settings, will use all memory that's not otherwise engaged as file cache.

The file cache usage shows up as "% Noncomp" under MEMORY in topas, and FileSystemCache in nmon if you have that installed.

It won't show up in "svmon -P" because that's the (P)rocess report. In "svmon -G" ((G)lobal), the file cache shows up under "pers" (persistent), and is the number of 4K memory pages caching file pages.

- Rod


IBM Certified Advanced Technical Expert pSeries and AIX 5L
CompTIA Linux+
CompTIA Security+

Wish you could view posts with a fixed font? Got Firefox & Greasemonkey? Give yourself the option.
 
Thanks Rod for your response.

Well in svmon -P, you can see the data and process stacks under each (P)rocess and their corresponding memory usage, i.e "work" or "pers", and my output has no "pers" so I know that there is no Persistant Storage or file buffer cache going on.

Also, Yes you are correct that svmon -G shows the "pers" column and we have "0" for both rows. Do you know what the "clnt" column is? I thought it was for NFS share mount point memory usage and we have no NFS mounts, but there is about 1900000 4k pages in the "in use" row and "clnt" column.

I know that Oracle is the culprit b/c I all PID's in the svmon -P output is oracle and each one of its data/process stacks use "work"ing under the "type" column.



 
You asked, is this normal? I would say, yes if you don't have enough RAM.

I typically assume a 1-2gb sga, and 30mb per "session". If oracle is using all the ram, you should see %comp extremely high in a topas output.

When all else fails, I'll use "ps vg | sort -rn +6 |pg" to see what's taking up the ram (and how much). Look at the RSS column. This is a good/decent estimater of ram usage.
 
dawaves,

You might want to take a look at this IBM Tip. There's also some good info in this NetApp report.

Client segments can be either remote or local and are used by some virtual file systems. NFS is mentioned most often, but they're also used by the CD-ROM vfs and, judging from your stats, CIO.

Note that the IBM paper above looks like it's assuming CIO is not in use, based on the info in the NetApp report.

- Rod




IBM Certified Advanced Technical Expert pSeries and AIX 5L
CompTIA Linux+
CompTIA Security+

Wish you could view posts with a fixed font? Got Firefox & Greasemonkey? Give yourself the option.
 
Thanks for those responses.


I think I know why Oracle wants and gets so much of our RAM. In /etc/security/limits file, upon Oracle's recommendation, we set oracle to have the "unlimited" parameter in that file. Here is the file:

time(seconds) unlimited
file(blocks) unlimited
data(kbytes) unlimited
stack(kbytes) 4194304
memory(kbytes) unlimited
coredump(blocks) 2097151
nofiles(descriptors) unlimited

If you type in "ulimit -a" as oracle user, do you get something similar?

Rod: thanks for those great articles. I was using a similar one found here:

My worry is that Oracle will eventually take up all available RAM. And when it does, new processes will need RAM from somewhere hence paging space. So if Oracle does take up more and more RAM, will the OS eventually start paging and isn't that a bad thing? Should one cap Oracle's RAM usage? What do other DBA/AIX Admins do?

Thanks!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top