PURPOSE-------This document will show how to determine the memory used by eachOracle background process on a Solaris operating system. SCOPE & APPLICATION-------------------This can be used by anyone who has privileges for the /usr/proc/bin/pmapcommand. Using PMAP to determine the memory size of background processes--------------------------------------------------------------- First, to determine the memory size, the process id (PID) of the Oracle background process must be found.This is done by issuing the following command:% ps -ef |grep V816UTF8 (where V816UTF8 is the SID of the Oracle Database)usupport 23891 1 0 Apr 17 ? 2:45 ora_ckpt_V816UTF8usupport 23887 1 0 Apr 17 ? 0:02 ora_dbw0_V816UTF8usupport 23893 1 0 Apr 17 ? 1:39 ora_smon_V816UTF8usupport 23889 1 0 Apr 17 ? 0:06 ora_lgwr_V816UTF8usupport 136 1 0 Apr 18 ? 1:24 oracleV816UTF8 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))usupport 23895 1 0 Apr 17 ? 0:12 ora_reco_V816UTF8usupport 23885 1 0 Apr 17 ? 0:58 ora_pmon_V816UTF8usupport 11787 1 0 Apr 25 ? 0:01 oracleV816UTF8 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))usupport 2788 1 0 Apr 23 ? 0:32 oracleV816UTF8 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))usupport 15550 13813 0 18:02:41 pts/103 0:00 grep V816UTF8Second, enter the following command:%/usr/proc/bin> ./pmap -x 23893 (23893 is the PID for the SMON process)Address Kbytes Resident Shared Private Permissions Mapped File00010000 24648 1056 392 664 read/exec oracle01830000 232 56 32 24 read/write/exec oracle0186A000 216 - - - read/write/exec [ heap ]80000000 88336 88336 88336 - read/write/exec/shared [shmid=0x4b1]EEDE0000 16 16 16 - read/exec libmp.so.2EEDF2000 8 8 8 - read/write/exec libmp.so.2EEE00000 592 568 568 - read/exec libc.so.1EEEA2000 32 32 8 24 read/write/exec libc.so.1EEEAA000 8 - - - read/write/exec [ anon ]EEED0000 112 32 32 - read/exec libelf.so.1EEEFA000 8 8 8 - read/write/exec libelf.so.1EEF00000 456 320 320 - read/exec libnsl.so.1EEF80000 40 40 8 32 read/write/exec libnsl.so.1EEF8A000 16 - - - read/write/exec [ anon ]EEFA0000 16 16 16 - read/exec libc_psr.so.1EEFB0000 16 16 16 - read/exec libkvm.so.1EEFC2000 16 16 8 8 read/write/exec libkvm.so.1EEFD0000 88 88 88 - read/exec libm.so.1EEFF4000 8 8 8 - read/write/exec libm.so.1EF000000 4872 24 24 - read/exec libjox8.so EF4D0000 176 - - - read/write/exec libjox8.soEF4FC000 16 - - - read/write/exec [ anon ]EF510000 8 - - - read/write/exec [ anon ]EF520000 8 8 8 - read/exec libkstat.so.1EF530000 8 8 8 - read/write/exec libkstat.so.1EF540000 24 24 24 - read/exec libposix4.so.1EF554000 8 8 8 - read/write/exec libposix4.so.1EF560000 24 24 24 - read/exec libaio.so.1EF574000 16 16 8 8 read/write/exec libaio.so.1EF580000 912 - - - read/exec liblsm.soEF672000 48 - - - read/write/exec liblsm.soEF67E000 504 - - - read/write/exec [ anon ]EF710000 8 8 8 - read/exec libsched.so.1EF720000 8 8 8 - read/write/exec libsched.so.1EF730000 8 8 8 - read/write/exec/shared [ anon ]EF740000 32 32 32 - read/exec libsocket.so.1EF756000 8 8 8 - read/write/exec libsocket.so.1EF758000 8 - - - read/write/exec [ anon ]EF760000 8 - - - read/write/exec [ anon ]EF770000 8 - - - read/exec libwtc8.soEF780000 8 - - - read/write/exec libwtc8.soEF790000 8 - - - read/exec libskgxp8.soEF7A0000 8 - - - read/write/exec libskgxp8.soEF7B0000 8 8 8 - read/exec libdl.so.1EF7C0000 128 128 128 - read/exec ld.so.1EF7EE000 16 16 8 8 read/write/exec ld.so.1EFFF4000 48 - - - read/write/exec [ stack ]-------- ------ ------ ------ ------total Kb 121800 90944 90176 768 The shared memory of this SMON process is 90176K minus the SGA size which is the line marked with 'shmid=' above. In this case it is 88336K. The calculation is as follows: 90176K minus 88336K is 1840K. So, the process memory for SMON is 1840K.This can be done for all the background processes