Skip to Main Content

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, a.

Asked: September 18, 2025 - 7:52 am UTC

Last updated: September 22, 2025 - 3:38 am UTC

Version: oracle db 19.28

Viewed 100+ times

You Asked

Hi, I am working on a RAC 19C with two nodes. When the database is brought up, I get an ORA-700 [sms physmem limit] error in the alert log. To fine-tune the various parts of VM, OS and DB, I referred to Oracle Doc ID 2610312.1. It says that SGA_MAX_SIZE+PGA_AGGREGATE_LIMIT should not be more than 80% of the system memory. That is, 20% of the memory is allocated to the OS (here Oracle LINUX 8.6 ).
So if our RAM is 50GB, 10GB is allocated to Linux, but if our RAM is 500GB, 100GB is allocated to Linux. While the OS is the same OS and its processing rate has not changed (and even the database data volume is the same), but the memory allocated to it has increased 10 times. So how is this reasonable?

and Connor said...

That note is a guide for the majority of typical configurations out there, and hence when you get to more outlier configurations (high or low), then some adjustment is necessary.

For example, if I was running a VM with (say) 4G of RAM, I would not leave only 500M for the OS.

One thing to ensure is that at the higher end of RAM configs is that you're using huge pages, otherwise you'll be burning up a LOT of OS resources just to manage the page table.

Rating

  (1 rating)

Comments

a.paryab, September 20, 2025 - 11:59 am UTC

My server has 500GB of RAM. Before the database came up, I saw with the free -h command that Linux only occupied 6GB of memory (USED column). Of course, I have to enable HugePages. Now with these calculations, can I give 494GB to SGA+PGA?
Connor McDonald
September 22, 2025 - 3:38 am UTC

No, because don't forget, the database requires memory for each connected process as well.

Similarly, there's a law of diminishing returns here. Check out

V$DB_CACHE_ADVICE
V$PGA_TARGET_ADVICE
V$SGA_TARGET_ADVICE

to get guidance on the sweet spot for memory