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.
9 More Discussions You Might Find Interesting
1. Programming
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
2. UNIX for Advanced & Expert Users
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
3. UNIX for Advanced & Expert Users
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
4. Programming
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
5. UNIX for Advanced & Expert Users
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. IP Networking
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
7. Programming
hi all
Can any one plz explain me about memory leak problem
Thankx (5 Replies)
Discussion started by: sonali
5 Replies
8. Red Hat
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
9. Programming
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
LEARN ABOUT CENTOS
curs_memleaks
curs_memleaks(3X) curs_memleaks(3X)
NAME
_nc_freeall _nc_free_and_exit - curses memory-leak checking
SYNOPSIS
#include <curses.h>
void _nc_freeall(void);
void _nc_free_and_exit(int);
DESCRIPTION
These functions are used to simplify analysis of memory leaks in the ncurses library. They are normally not available; they must be con-
figured into the library at build time using the --disable-leaks option. That compiles-in code that frees memory that normally would not
be freed.
Any implementation of curses must not free the memory associated with a screen, since (even after calling endwin), it must be available for
use in the next call to refresh. There are also chunks of memory held for performance reasons. That makes it hard to analyze curses ap-
plications for memory leaks. To work around this, one can build a debugging version of the ncurses library which frees those chunks which
it can, and provides these functions to free all of the memory allocated by the ncurses library.
The _nc_free_and_exit function is the preferred one since some of the memory which is freed may be required for the application to continue
running. Its parameter is the code to pass to the exit routine.
RETURN VALUE
These functions do not return a value.
PORTABILITY
These functions are not part of the XSI interface.
SEE ALSO
curses(3X).
curs_memleaks(3X)