DBA Tips Archive for Oracle


How to Determine Background Process Size on Solaris using pmap

by Jeff Hunter, Sr. Database Administrator

Find PID of Oracle background process

First, you need to find the prcess id (PID) of the Oracle background process you wish to determine the memory size for. This is done by issueing the following command:
  % ps -ef |grep V815    (where V815 is the SID of the Oracle Database)

  oracle 12252     1  0 18:28:09 ?        0:00 ora_arc0_V815
  oracle 12250     1  0 18:28:09 ?        0:00 ora_snp0_V815
  oracle 12248     1  0 18:28:09 ?        0:00 ora_reco_V815
  oracle 12244     1  0 18:28:09 ?        2:49 ora_ckpt_V815
  oracle 12242     1  0 18:28:09 ?        0:00 ora_lgwr_V815
  oracle 12238     1  0 18:28:08 ?        0:00 ora_pmon_V815
  oracle 12246     1  0 18:28:09 ?        0:00 ora_smon_V815
  oracle 12240     1  0 18:28:09 ?        0:00 ora_dbw0_V815
 jhunter 12694 12619  0 07:51:00 pts/3    0:00 grep V815
Use pmap command
Second, you then enter the following command:
  % /usr/proc/bin/pmap 12246  (12246 is the PID for the SMON process)

  12246:  ora_smon_V815
  00010000  22800K read/exec         /app/oracle/product/8.1.5/bin/oracle
  01662000    448K read/write/exec   /app/oracle/product/8.1.5/bin/oracle
  016D2000    112K read/write/exec     [ heap ]
  80000000 127672K read/write/exec/shared  [ shmid=0x193 ] **This is the size of the SGA
  EE140000     40K read/write/shared dev:32,96 ino:570352
  EE150000    120K read/write/shared dev:32,96 ino:570354
  EE180000   1040K read/write/shared dev:32,96 ino:570353
  EE2A0000     16K read/exec         /usr/platform/sun4u/lib/libc_psr.so.1
  EE2B0000     16K read/exec         /usr/lib/libmp.so.2
  EE2C2000      8K read/write/exec   /usr/lib/libmp.so.2
  EE2D0000     88K read/exec         /usr/lib/libm.so.1
  EE2F4000      8K read/write/exec   /usr/lib/libm.so.1
  EE300000    592K read/exec         /usr/lib/libc.so.1
  EE3A2000     32K read/write/exec   /usr/lib/libc.so.1
  EE3AA000      8K read/write/exec     [ anon ]
  EE3C0000      8K read/exec         /usr/lib/libkstat.so.1
  EE3D0000      8K read/write/exec   /usr/lib/libkstat.so.1
  EE3E0000     24K read/exec         /usr/lib/libposix4.so.1
  EE3F4000      8K read/write/exec   /usr/lib/libposix4.so.1
  EE400000  18472K read/exec         /app/oracle/product/8.1.5/lib/libjox8.so
  EF618000     80K read/write/exec   /app/oracle/product/8.1.5/lib/libjox8.so
  EF62C000      8K read/write/exec     [ anon ]
  EF640000     24K read/exec         /usr/lib/libaio.so.1
  EF654000     16K read/write/exec   /usr/lib/libaio.so.1
  EF660000      8K read/exec         /usr/lib/libsched.so.1
  EF670000      8K read/write/exec   /usr/lib/libsched.so.1
  EF680000    448K read/exec         /usr/lib/libnsl.so.1
  EF6FE000     40K read/write/exec   /usr/lib/libnsl.so.1
  EF708000     24K read/write/exec     [ anon ]
  EF720000      8K read/write/exec     [ anon ]
  EF730000      8K read/write/exec/shared   [ anon ]
  EF740000     32K read/exec         /usr/lib/libsocket.so.1
  EF756000      8K read/write/exec   /usr/lib/libsocket.so.1
  EF758000      8K read/write/exec     [ anon ]
  EF760000     32K read/exec         /app/oracle/product/8.1.5/lib/libdsbtsh8.so
  EF776000      8K read/write/exec   /app/oracle/product/8.1.5/lib/libdsbtsh8.so
  EF778000      8K read/write/exec     [ anon ]
  EF780000      8K read/exec         /app/oracle/product/8.1.5/lib/libskgxp8.so
  EF790000      8K read/write/exec   /app/oracle/product/8.1.5/lib/libskgxp8.so
  EF7A0000      8K read/exec         /usr/lib/libdl.so.1
  EF7B0000      8K read/write/exec     [ anon ]
  EF7C0000    120K read/exec         /usr/lib/ld.so.1
  EF7EC000      8K read/write/exec   /usr/lib/ld.so.1
  EFFFA000     24K read/write/exec     [ stack ]
   total   172472K
Subtract the SGA
Then you take the total size: 172472K and subtract the SGA size which the line marked with 'shmid=' above, in this case it is 127672K. So, 172472K minus 127672K is 44800K. So, the SMON background process is approximately 44.8 MB.

You can now do this for all the background processes.

Copyright (c) 1998-2017 Jeffrey M. Hunter. All rights reserved.

All articles, scripts and material located at the Internet address of http://www.idevelopment.info is the copyright of Jeffrey M. Hunter and is protected under copyright laws of the United States. This document may not be hosted on any other site without my express, prior, written permission. Application to host any of the material elsewhere can be made by contacting me at jhunter@idevelopment.info.

I have made every effort and taken great care in making sure that the material included on my web site is technically accurate, but I disclaim any and all responsibility for any loss, damage or destruction of data or any other property which may arise from relying on it. I will in no case be liable for any monetary damages arising from such loss, damage or destruction.

Last modified on
Wednesday, 12-Nov-1997 00:00:00 EST
Page Count: 7750