You were brought to this page based on an internet search
and as a free service to Oracle DBAs.
The text below is an except from the book,
Oracle Performance Firefighting, written by
Craig Shallahamer of
OraPub, Inc.
Figures and tables are not included on this page, only their reference.
To order the book in either print or PDF form, click
here.
©2009, 2010 by Craig Shallahamer. This is copyrighted material.
PleaseOut of respect for those involved in the creation of the book and also for
their familes, we ask you to respect the copyright both in intent and deed. Thank you.
-------------------------------
Shared memory segments reside in real memory (we hope), and a process creates them using the shmget call. Most DBAs quickly figure this out once they try to start an Oracle instance and receive a shmget-related message, and then need to track down what the heck just happened.
What is unique about shared memory segments is that multiple processes can access the same piece of memory. The alternative would be to place the common data on disk. What a locking nightmare that would be! On Linux and Unix systems, Oracle's SGA is stored in shared memory segments.
Process-related memory can commonly be divided into three areas: code, data, and stack. Different operating systems will give these different names, and will also have different and additional process-related memory categories. AIX in particular has its own way of categorizing process memory. If you need to know the actual memory a process is consuming, use an operating system-specific command. For example, both Solaris and Linux provide the pmap command to get process-level memory details. I'll quickly describe each of the common categories:
©2009, 2010 by Craig Shallahamer. This is copyrighted material.
PleaseOut of respect for those involved in the creation of the book and also for
their familes, we ask you to respect the copyright both in intent and deed. Thank you.
|