----------------------------------------- (on server-express.q-bytes.com)

This mail was scanned by Trend Micro InterScan VirusWall when leaving Quality Bytes

---------------------------------------------------------
Hi

This is my example of pthread not releasing memory resources when the thread
function exits (I would REALLY like to have that memory back).
I have written (copied and modified...) a small program that creates 200
threads which exit after 10 seconds.
The main function then sleeps for 20 seconds, allowing me/you to ps aux |
grep <progname> to see the big vsize increase.
You can clearly see (below the source) that even though the functions exit,
memory is not released. Both the vsize and the rss stay the same.

I am supposed to call a certain function to have the memory released?

Isaac (Itzik) Aaron
Quality Bytes
TEL: +972-3-952 3175
FAX:  +972-3-952 3176
 
---- Snip, paste, compile and watch...

#include <pthread.h>

void first_function(int *);
void second_function(int *);

int j;

main()
{
  int i;

        pthread_t thread1, thread2;

  for (i=0;i<100; i++) {
         pthread_create(&thread1, NULL, (void*) first_function, (void*)&i);
         pthread_create(&thread2, NULL, (void*) second_function, (void*)&i);
   usleep(100);
  }
  sleep(20);

}

void first_function(int *num)
{
        int x,y,z;
  printf("Entered first_function %d\n", *num);
  sleep(10);
  printf("Exited first_function\n", *num);
}

void second_function(int *num)
{
        int x,y,z;
  printf("Entered second_function %d\n", *num);
  sleep(10);
  printf("Exited second_function %d\n", *num);
}




[e-tsik@qbserv e-tsik]$ ps aux | grep pthread
e-tsik   25556  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25557  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25682  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25683  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25684  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25685  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25686  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25687  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25688  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25689  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25690  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25691  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25692  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25693  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25694  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25695  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25696  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25697  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25704  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25705  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25706  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25707  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25708  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25709  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25710  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25711  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25712  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25713  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25714  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25715  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25716  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25717  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25718  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25719  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25720  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25721  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25722  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25723  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25730  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25731  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25732  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25733  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25734  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25735  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25736  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25737  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25738  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25739  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25740  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25741  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25742  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25743  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25744  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25745  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25746  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25747  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25748  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
e-tsik   25749  0.0  0.9 411052 1256 pts/4   S    07:34   0:00 /pthread
[e-tsik@qbserv e-tsik]$ ps aux | grep pthread
e-tsik   25556  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 ./pthread
e-tsik   25557  0.0  0.9 411052 1256 pts/4   S    07:33   0:00 /pthread
e-tsik   25769  0.0  0.4  1708  596 pts/7    R    07:34   0:00 grep pthread

 
 
 
BEGIN:VCARD
VERSION:2.1
N:Aaron;Isaac (Itzik)
FN:Isaac (Itzik) Aaron
ORG:Quality Bytes Software LTD
TITLE:Head of Development
TEL;WORK;VOICE:+972 (3) 952 3175
TEL;CELL;VOICE:+972 (53) 33 22 14
TEL;WORK;FAX:+972 (3) 952 3176
ADR;WORK:;;10 Moshe Levi st.;Rishon Lezziyon;;;Israel
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:10 Moshe Levi st.=0D=0ARishon Lezziyon=0D=0AIsrael
URL:
URL:http://www.q-bytes.com
EMAIL;PREF;INTERNET:[EMAIL PROTECTED]
REV:20010814T082349Z
END:VCARD

Reply via email to