Suppose I have a main() function with only one malloc statement allocating say some 1 gb memory. Also say my system has 1 gb of ram.
The program above exits without freeing the memory.
In this case will the 1 gb of heap memory be returned to system on above process termination or has the heap memory permanently leaked and will be available only on system reboot?
I mean if say we start some another process or say the same process again then will they be able to get the 1 gb if heap again?
Last edited by rupeshkp728; 10-25-2012 at 12:49 PM..
Reason: code syntax
Hi!! Experts,
Any ideas how to check for the memory leaks in a process during performance testing?? I dont use purify.. Any way of finding it out using default S/W in HP UX-11
Can U gimme pointers to site having good scripts/tutorials on performance testing??
Thanx in Advance..
:) (3 Replies)
Hi folks,
We are using following listed configurations for a particular application.
HP-UX 11i
Sun Java 2 SDK Standard Edition 1.4.1 (version shipped with WebLogic 8)
Oracle 9i Release 2 (Oracle 9.2.0)
BEA WebLogic Server 8.1 SP3
It seems a memory leak when we use above configurations.... (1 Reply)
hi, i am a c++ programmer working on linux(redhat linux8.0) environment, i need to find out the memory leaks, so far i didn't used any tools, so what are the tools are available, and whic one is good to use. plz provide with a small example. (1 Reply)
Hi Unix lovers,
I am facing a strange problem about memory leak. One component of our product show memory leak at customer's end but not in development environment. The memory used by the exe goes on increasing at customer end but not in dev.
customer has same m/c(HP unix 11i) , the same... (1 Reply)
Hi,
Im working on Solaris 9 on SPARC-32 bit running on an Ultra-80, and I have to find out the following:-
1. Total Physical Memory in the system(total RAM).
2. Available Physical Memory(i.e. RAM Usage)
3. Total (Logical) Memory in the system
4. Available (Logical) Memory.
I know... (4 Replies)
Hi all,
I have written a small code just to invoke main and return immediately. When built with libpthread on AIX box, valgrind throws lots of memory leak errors. But when built without libpthread, no issues at all.
Here is the sample run for your look. Any idea where I might be going wrong?... (3 Replies)
Hello!
I've been struggling for not few hours with memory leaks on this
machine. I'm running linux 2.6.32-5-686, and the problem is as follows:
Some months ago, I have compiled kernel 2.6.33-2-686 without any issues
in this same machine. This week I have tried compiling GNUzilla Icecat
and... (23 Replies)
Hi Experts,
Our servers running Solaris 10 with SAP Application. The memory utilization always >90%, but the process on SAP is too less even nothing.
Why memory utilization on solaris always looks high?
I have statement about memory on solaris, is this true:
Memory in solaris is used for... (4 Replies)
Discussion started by: edydsuranta
4 Replies
LEARN ABOUT REDHAT
njamdpm
NJAMDPM(1) General Commands Manual NJAMDPM(1)NAME
njamdpm - Not Just Another Malloc Debugger Post-Mortem
SYNOPSIS
njamdpm [OPTIONS] <HEAP FILE>
DESCRIPTION
njamdpm is a companion utility that allows you to examine the persistent heap saved by libnjamd(3) You can do things like query for certain
addresses, show memory leaks, and show all past allocated memory. As of NJAMD 0.6.0, gdb(1) is required to make sense of the return
addresses.
USAGE
Options
HEAP FILE
The heap file will be in the current directory with a name of the form njamd-<pid>-heap, but only if NJAMD_PERSISTANT_HEAP was in
the environment at the time of program execution
-a address
Search through the heap file for a chunk of memory that contains address. This can be VERY helpful when using gdb. Simply find the
address that you accessed to cause the segmentation fault, use njamdpm to look it up in the heap, and viola! You have all sorts of
info about the chunk: When it was allocated, when it was freed, how big is is, etc.
-d depth
When displaying return address info, only display depth return addresses. The max is specified in ./include/lib/njamd.h in the
define TRACE_DEPTH (default is 3).
-t Trim the heap file down to only the used portion. This is useful if for some reason the program somehow exits without trimming its
own heap file down first. Note that when the heap file appears huge it's not actually taking up disk space.
-s Dump basic status info about peak memory usage, NJAMD overhead, etc. Useful for determining if you should buy more ram, or write me
an angry email :)
-l Dump memory leaks in the heap. Also shows you info about where the memory was leaked, along with a total. Do note that this total
and the subtotals are aligned bytes. They are aligned to the alignment of your architecture, or as specified by the value the
NJAMD_ALIGN environment variable had when the heap was created.
-f Dump freed memory in the heap. This option is only available if LIBNJAMD ran without NJAMD_CHK_FREE=none set.
Using gdb with njamdpm
When a segmentation fault happens, it's because, of course, you accessed an invalid address. So all you need to do is get gdb to give you
the address you accessed, and then feed it to njamdpm. Ie if the segfault occurs on a line that does buf[i] = 2, issue print &buf[i] to
gdb. Note that libnjamd(3) now has a function __nj_ptr_info that can be called from gdb that performs all this without njamdpm.
To get gdb to translate these return addresses into something meaningful, issue
info line *0xaddress
to obtain the line number of the allocation request, or
list *0xaddress
to see the adjacent code as well.
NOTES
Eventually I hope to add symbol translation right into njamdpm.
AUTHORS
Mike Perry <mikepery@fscked.org>
SEE ALSO
http://freshmeat.net/appindex/development/debugging.html
njamd(3), efence(3), malloc(3), mmap(2), mprotect(2)
NJAMD - 5 Oct 2000 NJAMDPM(1)