03-29-2010
To be honest... I do not know. I tried to get valgrind to build on 5.3 and it failed (and I immediately threw in the towel as AIX was not a "supported" platform).
But, I think the no-code example you have should serve as a baseline for running this tool on AIX. You might also write a small block of code that spins up 1+ threads and optionally allocate some memory in each (and possibly even throw away the reference / pointers) to see how much it changes.
I tend to write system tools - nothing really critical - so I stick with the GNU tools as well. You might consider looking at the VAC tools - they may offer you stronger capabilities in this area. It seems like you *always* lose *something* when you take a tool developed on a platform like Linux or BSD to one of the proprietary Unices.
Just my $.02.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
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)
Discussion started by: jyotipg
3 Replies
2. HP-UX
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)
Discussion started by: gimhan90
1 Replies
3. Programming
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)
Discussion started by: sarwan
1 Replies
4. UNIX for Advanced & Expert Users
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)
Discussion started by: shriashishpatil
1 Replies
5. Shell Programming and Scripting
Hi all,
Has anyone out there a shell script to detect memory leaks on unix machines?
And if so what way did they go about it .? (5 Replies)
Discussion started by: nano2
5 Replies
6. UNIX and Linux Applications
Hello all
Is there good free ware tools to check software memory leaks ?
Some thing like purify
on unix platforms sun/hp/linux
Thanks (3 Replies)
Discussion started by: umen
3 Replies
7. AIX
As Valgrind announced, 3.3.0 and 3.3.1 version can support AIX 5.3.
But I met a block issue when I used Valgrind on AIX
After installing Valgrind3.3.1 successfully on AIX5.3, I typed the following command of Valgrind:
valgrind -d --tool=memcheck ls
Then, the following result from Valgrind is... (0 Replies)
Discussion started by: adasong
0 Replies
8. UNIX for Advanced & Expert Users
helo frnds,
I am using RHEL5 and C lang for development.
I am getting some memory leak problem in pthread.
I hav developed a program which creates two threads for listening purpose on two diff ports. both the child threads are doing same job but on diff port no.
I am using... (4 Replies)
Discussion started by: mindTeaser
4 Replies
9. Emergency UNIX and Linux Support
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)
Discussion started by: teresaejunior
23 Replies
10. Programming
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.
main()
{
malloc(1gb)
return(0)
}
The program above exits without freeing the memory.
In this case will the 1 gb of heap memory be returned... (9 Replies)
Discussion started by: rupeshkp728
9 Replies
LEARN ABOUT OSF1
atom_object_management
atom_object_management(5) File Formats Manual atom_object_management(5)
NAME
atom_object_management, BuildObj, IsObjBuilt, WriteObj, ReleaseObj - Allows an Atom tool's InstrumentAll routine to build, release, and
write objects
SYNOPSIS
#include <cmplrs/atom.inst.h>
unsigned BuildObj(
Obj * ); unsigned IsObjBuilt(
Obj * ); void WriteObj(
Obj * ); void ReleaseObj(
Obj * );
DESCRIPTION
Atom's object management routines allow an Atom tool's InstrumentAll routine to build, write, and release objects.
You can use these routines only from an Atom tool's instrumentation file. See atom(1) for a description of Atom.
An InstrumentAll routine must call the BuildObj routine before calling AddCallObj to add analysis routine calls to the object and before
traversing the procedures in the object. BuildObj builds the internal data structures Atom uses to manipulate the object. After the Atom
tool traverses and instruments the object, the InstrumentAll routine must call the WriteObj routine to write out the instrumented version
of the object. For example:
unsigned InstrumentAll(int iargc, char **iargv) {
Obj * obj;
AddCallProto("Startup()");
AddCallProto("Finish()");
AddCallProto("foo(int, REGV)");
AddCallProgram(ProgramBefore, "Startup");
AddCallProgram(ProgramAfter, "Finish");
for (obj = GetFirstObj(); obj; obj = GetNextObj(obj))
{
if (BuildObj(obj))
return(1);
/* instrument obj */
WriteObj(obj);
}
return(0); }
The WriteObj routine writes the instrumented version of the specified object, deallocating the internal data structures BuildObj previously
created.
Note that BuildObj may return an error code. It returns a nonzero value (and issues an appropriate error message) if it encounters an error
in the executable file for the Obj0. You should propagate this error value back to Atom by returning 1 from InstrumentAll.
The ReleaseObj routine deallocates the internal data structures for the given object, but does not write out the instrumented version the
object. You should not call ReleaseObj if you have added any analysis routine calls to the object.
The IsObjBuilt routine returns a nonzero value if the specified object has been built with BuildObj, but not yet written with WriteObj or
unbuilt with ReleaseObj.
Whenever possible, tools should build and write out each object only once. Some tools, however, may build and release an object several
times, ultimately writing out its instrumented version. This can be very time-consuming for a tool with very large objects.
Similarly, tools should normally build only one object at a time. Certain tools may simultaneously build several objects, instrument each
one, and then write each out. This has advantages for tools that call ResolveNamedProc or ResolveTargetProc. However, having more than one
large object built at a single time will cause Atom to run slowly and to consume a large amount of memory.
RETURN VALUES
These routines return values as described above.
FILES
Header file containing external definitions of Atom routines
SEE ALSO
Commands: atom(1)
AtomTools: hiprof(5), pixie(5), third(5)
Functions: atom_application_instrumentation(5), atom_application_query(5), atom_application_navigation(5), atom_description_file(5),
atom_application_resolvers(5), atom_instrumentation_routines(5), AnalHeapBase(5), Xlate(5), Thread(5)
Programmer's Guide
atom_object_management(5)