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!

Massive Memory usage....

Status
Not open for further replies.

AdamCoombs

Technical User
May 22, 2002
51
GB
I have a E3500 with 4GB RAM running Solaris 7 and Oracle 8. I am running a script my predocessor left which does a /usr/ucb/ps uax and then add up the 4th column to get the total percentage memory used....on all other machines it comes back with a sensible answer but on this machine the memory usage is running between 500% and 900%!
todays results are..
Tue Jun 18 11:30:00 TOTAL CPU = 2.2% MEM = 860.2%
Tue Jun 18 12:00:00 TOTAL CPU = 3.7% MEM = 928.9%
Tue Jun 18 12:30:00 TOTAL CPU = 9.2% MEM = 894.6%
Tue Jun 18 13:00:00 TOTAL CPU = 2.9% MEM = 997.6%
Tue Jun 18 13:30:00 TOTAL CPU = 6.1% MEM = 1031.6%
Tue Jun 18 14:00:00 TOTAL CPU = 4.5% MEM = 928.9%
Tue Jun 18 14:30:00 TOTAL CPU = 7.3% MEM = 894.6%
Tue Jun 18 15:00:00 TOTAL CPU = 2.7% MEM = 860.2%
Tue Jun 18 15:30:00 TOTAL CPU = 9.9% MEM = 757.1%

As you can see the CPU is quiet, but the MEM is madness!
Any ideas how i can pin point the problem and sort it?
 
Are you running Oracle on this machine? Oracle (and probably other applications) uses "shadow" processes which show each process as allocating the entire SGA - even though this area is only allocated once and shared.
 
Yes, it has Oracle running on it, which I know nothing about...apologies for my ignorance....whats SGA?
thanks for your reply...
Adam
 
SGA is the Oracle shared global area. It is allocated by Oracle on startup, and each Oracle process uses that shared area. Unfortunately, the ps command reports this shared area as being used by all Oracle processes.

You should be able to identify the shadow processes from the output of your ps command and eliminate these from your total to get a better idea of actual memory usage.

There is a decent discussion of Oracle memory usage here:
 
dobbyn,

Thanks for your help thus far...starting to make sense now!!!

So are you saying that the following processes below are all using the same 33% memory?
oracle 446 0.0 33.513869921356088 ? S May 29 0:00 ora_pmon_orcl8
oracle 448 0.0 33.613882241357504 ? S May 29 2:38 ora_dbw0_orcl8
oracle 452 0.0 33.613864481356328 ? S May 29 0:15 ora_ckpt_orcl8
oracle 454 0.0 33.613864401358448 ? S May 29 1:22 ora_smon_orcl8
oracle 456 0.0 33.613863921357480 ? S May 29 0:00 ora_reco_orcl8

and these ones...


maconomy 26995 0.0 0.53196019936 ? S 13:48:03 0:07 macoracle.r.w_6_1
oracle 26996 0.0 33.913878641368656 ? S 13:48:06 0:03 oracleorcl8 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(
PRO
maconomy 27097 0.0 0.42789614920 ? S 14:03:55 0:02 macoracle.r.w_6_1
oracle 27098 0.0 33.913892961370120 ? S 14:03:58 3:09 oracleorcl8 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(
PRO
oracle 27100 0.0 33.913881041368856 ? S 14:06:05 0:04 oracleorcl8 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(

thanks again
Adam


 
Yes, unix normally shares code but uses seperate memnory for data, Oracle wishes to share data among all the oracle processes (so each task can see buffered records of other tasks, rather than risk having multiple copies to get out of sync) so they use the ISM (Intimate Shared Memory) feature in Solaris. One 'feature' of this is that all the Oracle processes claim to 'own' the SGA, even though there is just one copy. I tried to remain child-like, all I acheived was childish.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top