Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Memory consumption will come from the following areas:</p> <ol> <li>per-instance SGA</li> <li>per-session UGA, PGA (sorting, etc.)</li> <li>misc. other per-process memory requirements not covered above (e.g. the stack and heap used by each oracle process, the memory used by the actual executable images, etc.)</li> </ol> <p>The cost of 1 is worth it in order to keep dev's and customers from thrashing each other's buffer caches. Those instances that do not care about such things should be merged.</p> <p>You can assume the cost of 2 as paid in one form or another by all RDBMSs (and solely a function of your RDBMS's configuration), so it's not a tradeoff.</p> <p>I would estimate that the impact of 3 is best reduced on Linux because of <a href="http://en.wikipedia.org/wiki/Fork_(operating_system)#Fork_and_page_sharing" rel="nofollow noreferrer">fork and page sharing</a>, so you only pay for what you use. On modern *nix systems, the fork-instead-of-multithreaded approach is extremely efficient from both a CPU as well as memory point of view, while offering numerous other advantages (you virtually need never fear memory leaks.)</p> <hr> <p>These having been said, do not forget that memory readings from Windows' task manager or from <code>top</code> may be misleading as to the actual memory consumption of a process because of "double counting": the shared memory segment as well as the size of the actual oracle executables and dynamic link libraries may be counted for each process when in fact that memory is shared (and only used once) by all processes involved. Under Unix use "pmem" or "cat /proc//maps" to see how much memory is actually used by the process and how much is shared.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload