Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Memory Free up Failing on Solaris 8 - Off-topic
Hi
SITUATION - On a production APP Server having about 4000 Concurrent application processes , the memory allocated does NOT seem to be getting freed even though the application program is issuing the respective call to Free the memory .
Qs Any /etc/system parameters , OS patches which should help ?
Qs Is our approach of using the pmap command Correct ? else what Command to find the "Private" memory taken up by a process would be advisable ?
Qs How to find the Total Amount of Swap Consumed ?
[ We probably do NOT know how to interpret the vmstat output Correctly ,
top/swap -s commands show an output Differing greatly from df -k output for /tmp filesystem ]
Qs Any Body has encountered such as situation before ?
Configuration -
Solaris 2.8
Patch - Generic 108528-16 patch
Machine SF15K
CPUs = 36
RAM = 96 GB
We created a Small Sample C program which allocates & FREEs memory but found that even after
FREEing , the memory does NOT show as Freed in the pmap output . Is the following approach correct ?
DETAILS :-
@@@@@@@@@@@@@@@@@ SAMPLE C PROGRAM @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#include <stdio.h>
char *abc = NULL ; int i = 0 ; for (i = 1; i < 10; i++){ printf("allocating [%d] bytes\n", 10*1024*(i+1)); abc = (char *)malloc(10*1024*(i+1)); memset(abc, '\0', 10*1024*(i+1)); getchar(); free(abc); printf("Freeing [%d]\n", i); getchar(); } exit() ;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
RUN Output :-
STEP 1 - allocating [20480] bytes
pmap -x <PID of Above program process>
Address Kbytes Resident Shared Private Permissions Mapped File 00010000 8 8 8 - read/exec a.out 00020000 8 8 - 8 read/write/exec a.out 00022000 24 24 - 24 read/write/exec [ heap ] FF280000 688 688 688 - read/exec libc.so.1 FF33C000 32 32 - 32 read/write/exec libc.so.1 FF370000 16 16 16 - read/exec libc_psr.so.1 FF390000 8 8 8 - read/exec libdl.so.1 FF3A0000 8 8 - 8 read/write/exec [ anon ] FF3B0000 152 152 152 - read/exec ld.so.1 FF3E6000 8 8 - 8 read/write/exec ld.so.1 FFBEC000 16 16 - 16 read/write/exec [ stack ] -------- ------ ------ ------ ------ total Kb 968 968 872 96
THE "Private" memory allocated by the [ heap ] is 24 K
STEP 2 - Freeing the memory allocated in the above Step
Freeing [1]
pmap -x <PID of Above program process>
Address Kbytes Resident Shared Private Permissions Mapped File 00022000 24 24 - 24 read/write/exec [ heap ]
RESULT - THE "Private" memory allocated previously does NOT get Freed &
[ heap ] continues to be 24 K
STEP 3 -
allocating [30720] bytes
pmap -x <PID of Above Program process>
Address Kbytes Resident Shared Private Permissions Mapped File 00022000 32 32 - 32 read/write/exec [ heap ]
STEP 4 - Freeing the memory allocated in the above Step Freeing [2]
pmap -x <PID of Above program process>
Address Kbytes Resident Shared Private Permissions Mapped File 00022000 32 32 - 32 read/write/exec [ heap ]
RESULT - THE "Private" memory allocated previously in Step 3 does NOT get Freed &
[ heap ] continues to be 32 K
Thanks
-- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: VIVEK_SHARMA INET: VIVEK_SHARMA_at_infosys.com Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Mon Feb 03 2003 - 00:58:48 CST
![]() |
![]() |