Operating System - HP-UX
1847197 Members
3083 Online
110263 Solutions
New Discussion

Re: Memory, memory window and glance

 
samir hamshari
Occasional Contributor

Memory, memory window and glance

Hi,
We have a server that hosts several databases and oracle applications (32 bit apps).
We use memory windows for the databases.
The server has 6 GB of RAM, each of our databases uses almost 600 MB of memory, a total of 4 right now, and we are planning on adding one more Oracle application. At this point of time, when I look at Glance, it shows at peek time, memory utilization at 99%.
I have 3 questions,
1- Is it true that all my oracle applications processes will only share 1.75 GB of the GLOBAL memory, regaldless of how much memroy I have on the server?
2- The 99% memory utilization I see in glance, is percet of what? Is it 99% of the 1.75 GB or of the 6GB?
3- Would adding memory to the server buy us anything?

I would appreciate any help on this subject.

Thanks
4 REPLIES 4
James Murtagh
Honored Contributor

Re: Memory, memory window and glance

Hi Samir,

You have to make the distinction between virtual and physical memory. All 32 bit processes address a 1.75GB virtual address space for shared data, i.e. shared memory, shared libraries etc. Hence, using memory windows allows Oracle instances to start in a seperate 1GB virtual memory window, so getting around this 1.75GB limit. To answer the questions:

1) No with memory windows, as above.
2) That is 99% of the physical memory on the system.
3) If you are using 99% of the physical memory then yes, adding more memory will help. At the moment you will see swap space utilised by running "swapinfo -tam" or from Glance. This is very detrimental to performance, so adding more memory should help a lot.

Regards,

James.
samir hamshari
Occasional Contributor

Re: Memory, memory window and glance

Hi James,
Thanks for your response.
What I meant by Q1, the database starts in it's own memory window. but there are the other processes which in our case concurrent manager and form processes that is owned by a different users, and from looking at memwin_stats, it seems they all share the GLobal memory. Is this global memory is only 1.75GB no matter what, or is it (available memory - memory allocated using memory window) which in this case 6 - 4 = 2G and if I add another database it will be 6 - 5 = 1GB.

For Q2,
When the system is idle and all services are up, glance shows 82% mem utilization. swap at 75%. When the system is idle this means we are using almost 5 GB of memory! Who is using all this memory?

Thanks
James Murtagh
Honored Contributor

Re: Memory, memory window and glance

Hi Samir,

Well, this is what I was mentioning before, the destinction between virtual and physical memory. The Global Area is the 1.75GB of address space (virtual) that all 32bit processes can share. So for all other processes using shared objects this will be a limit. There can be a lot of confusion between errors such as "Out of Space" and "Out of Memory" for example - please see the Memory Management White Paper on the HP documentation server for an in-depth discussion.

For the second question, even though the system is "idle", which I assume you mean there is not many users connected, the instances are still up so they will still be consuming memory.

Regards,

James.
Bill Hassell
Honored Contributor

Re: Memory, memory window and glance

You need to get a copy of shminfo so your memory windows will be visible and true usage by each instance will be seen. FTP the files from:

ftp://contrib:9unsupp8@hprc.external.hp.com/sysadmin/programs/shminfo/

Memory usage of 99-100% is a *GOOD* thing. After all, if you had 6Gb of RAM and only used 50%, why buy the extra RAM? The only concern is whether there is any paging (swapping) occurring. You can see this with vmstat. The easiest way to see paging is:

vmstat -s | grep "paged out"

Since this is a cumulative number, unless it is close to zero (less than 100), you'll need to zero the stats and run it again after the system has been running for a while:

vmstat -z

...time passes

vmstat -s | grep "paged out"

If the page out rate remains low (single digits) then additional RAM is of no value. If the rate is more than 10000 over a one day period, additional RAM will reduce the paging rate, but first make sure you don't have an out-of-control dynamic buffer cache. The kernel param for DBC max should be no more than 8% to 10%. If it is currently 50%, you will probably gain a significant amount of free space although it may not change performance if there isn't much paging going on.


Bill Hassell, sysadmin