Memory Leak


 
Thread Tools Search this Thread
Top Forums Programming Memory Leak
# 1  
Old 07-28-2010
Memory Leak

Hi,

I am trying a database server which keeps a B+ plus tree structure and works on it.

I am trying to find the memory used/leak while executing this process.

I check the memory leak by using ps uax command.

When i execute a delete query i am sure that my code frees up the existing allocation and adds a new allocation.

By doing this is, memory usage should not increase as per my understanding. Because the new allocation will always be less than the previous allocaiton.

But it shows increase in memory when check using ps uax.

Is it that when I call free function and that will not immediately return the memory chunk to free.

Or what is best way to check how many allocations have been made in a process and what size.

Please help me on this.

Regards
Kumaran
# 2  
Old 07-28-2010
I don't know what you are seeing and how you got your conclusions.

1. free() does not return memory to the OS. malloc() (via brk() ) got the memory from the OS. The idea is that the requested memory stay associated with the process until the process ends. It is too expensive to keep calling brk().

2. memory leaks look like this from your vantage point :
the process memory keeps on growing over time. For example: the process has 100MB at 9:00am, by 9:05 it has 120MB, by 9:30 200MB -- as long as it runs it gains memory.

3. There are tools to find memory leaks, things like valgrind, electric fence.
# 3  
Old 07-29-2010
THanks Jim.

COuld you assist me how to find the process memory.

I will try to valgrind meanwhile.


Thanks
Kumaran
# 4  
Old 07-29-2010
Quote:
Could you assist me how to find the process memory.
top (prstat on solaris) works well for this.
# 5  
Old 07-29-2010
Unfortunately i am using Linux.

Please help me for this.
# 6  
Old 07-29-2010
Since you are not on solaris you of course won't have prstat. The other suggestion, top, should be available.
# 7  
Old 07-30-2010
Can anyone tell me how to check the exact amount of memory allocated (by malloc() and calloc() ) to a process in Linux.

Thanks
Kumaran R
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Programming

Help regarding memory leak in this C program

I have written this code in C which reads a very large collection of text files and does some processing. The problem with this code is that there are memory leaks which I am not able to figure out as to where the problem is. When I run this code, and see the memory usage using top command, then I... (7 Replies)
Discussion started by: shoaibjameel123
7 Replies

2. Red Hat

Memory leak

Hi all I am using RED HAT 5.4, and i am getting memory uses problem. when i use "sync;echo 3 > /proc/sys/vm/drop_cache" command the memory will release after 2,3 hour memory show 95%. pls suggest right way. thanks (37 Replies)
Discussion started by: reply.ravi
37 Replies

3. Programming

memory leak problem

hi all Can any one plz explain me about memory leak problem Thankx (5 Replies)
Discussion started by: sonali
5 Replies

4. IP Networking

memory leak?

Hi All, my client server application can work in two modes: 1) one direction - only client sends msgs to server 2) two directions - server gives 'answers' to client. when program run in the first mode it looks OK, but when server answers to client than client's application exit its... (2 Replies)
Discussion started by: lenna
2 Replies

5. UNIX for Advanced & Expert Users

Need to create a memory leak

Hi. This might be a strange request, but does anyone have any idea on a simple shell script that would use more and more memory as it ran? Like a purposeful leak. I want to test the behaviour of an already running program when the machine runs out of memory. Thanks! (4 Replies)
Discussion started by: rebelbuttmunch
4 Replies

6. Programming

Memory LEAK with pthreads

I have this code... #include <stdio.h> #include <iostream> #include <pthread.h> static void* cliente(void *datos); int main() { pthread_attr_t tattr; int ret; size_t size = PTHREAD_STACK_MIN + 0x0100; ret = pthread_attr_init(&tattr); ret =... (8 Replies)
Discussion started by: JEscola
8 Replies

7. UNIX for Advanced & Expert Users

Memory leak while using pthread_cancel()

I tried to execute a sample pthread program to cancel a newly created one using pthread_cancel(). but using valgrind on my code shows some memory leak. My Code: #include "iostream" #include "unistd.h" #include "pthread.h" #include "signal.h" using namespace std; void handler(int); void*... (4 Replies)
Discussion started by: kcr
4 Replies

8. UNIX for Advanced & Expert Users

Check memory leak

I am running c++ code on AIX unix.I have a doubt that my code is using some memory but it is not clearing that.Some time i am getting heap allocation problem.In my code i am not using any malloc,new functions also i am justing using pointers and arrays. Is there any way i can find out if the... (2 Replies)
Discussion started by: ukatru
2 Replies

9. Programming

about virtual memory and memory leak

Hi, First of all I appreciate this group very much for its informative discussions and posts. Here is my question. I have one process whose virtual memory size increases linearly from 6MB to 12MB in 20 minutes. Does that mean my process has memory leaks? In what cases does the... (4 Replies)
Discussion started by: shriashishpatil
4 Replies
Login or Register to Ask a Question