* out of memory
@ 2003-10-08 11:34 qhwang
0 siblings, 0 replies; 10+ messages in thread
From: qhwang @ 2003-10-08 11:34 UTC (permalink / raw)
To: linux-c-programming
Hi there,
Can anyone help me out of the mess? My program runs of out memory and then
is killed by the system. I use "top" to monitor its running and find out of
both RAM and SWAP. The "SIZE" option of "top" reaches more than 260 MB and
"RSS" more than 40 MB. Is this reasonable? The size of my program is just
over 100 KB. And the memory of my computer is just 64 MB and the swap is 256
MB. By the way, I find no memory leaks. Any suggestion will be greatly
appreaciated.
Bests,
QingHua.
P.S. I sent a post last night but I don't receive it this morning. So I post
it again.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: out of memory
[not found] <31E38B53D182D51195FA00508BE3A33402CE4C9B@zwnbc004.cala.nortel.com>
@ 2003-10-08 12:36 ` qhwang
2003-10-08 15:07 ` qhwang
1 sibling, 0 replies; 10+ messages in thread
From: qhwang @ 2003-10-08 12:36 UTC (permalink / raw)
To: Sandro Dangui; +Cc: linux-c-programming
> Do you have recursive calls?
> If you alloc all memory you need in the beginning, then the only problem
> that I can figure is that you have an infinite recursive call... or a loop
> between calls. It may be causing a stack overflow.
In my program there is a loop over 10k iteratives (image). In each loop
there are some kind of statistical learning algorithm running. It is killed
after it uses about 650 MB space (code + mainly data) with my laptop after
out of memory and swap. I believe the problem lies inside the loop but
there should be no infinite loop because when I reduce the loop to over 1k
iteratives the program runs well. In this case it uses more 100 MB space.
I wonder where is this huge data space requirement coming from, since there
is no memory allocation inside the loop?
> BTW: You have problems with your e-mail:
It's very strange.
QingHua
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: out of memory
@ 2003-10-08 12:44 Sandro Dangui
2003-10-08 13:31 ` Mariano Moreyra
0 siblings, 1 reply; 10+ messages in thread
From: Sandro Dangui @ 2003-10-08 12:44 UTC (permalink / raw)
To: qhwang; +Cc: linux-c-programming
Then you have to send us the piece of code that contains this hungry loop.
-----Original Message-----
From: qhwang [mailto:qhwang@ieeta.pt]
Sent: quarta-feira, 8 de outubro de 2003 09:36
To: Dangui, Sandro [CMPS:RY11:EXCH]
Cc: linux-c-programming@vger.kernel.org
Subject: Re: out of memory
> Do you have recursive calls?
> If you alloc all memory you need in the beginning, then the only
> problem that I can figure is that you have an infinite recursive
> call... or a loop between calls. It may be causing a stack overflow.
In my program there is a loop over 10k iteratives (image). In each loop
there are some kind of statistical learning algorithm running. It is killed
after it uses about 650 MB space (code + mainly data) with my laptop after
out of memory and swap. I believe the problem lies inside the loop but
there should be no infinite loop because when I reduce the loop to over 1k
iteratives the program runs well. In this case it uses more 100 MB space.
I wonder where is this huge data space requirement coming from, since there
is no memory allocation inside the loop?
> BTW: You have problems with your e-mail:
It's very strange.
QingHua
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: out of memory
2003-10-08 12:44 Sandro Dangui
@ 2003-10-08 13:31 ` Mariano Moreyra
2003-10-08 13:38 ` Piyush Jain
0 siblings, 1 reply; 10+ messages in thread
From: Mariano Moreyra @ 2003-10-08 13:31 UTC (permalink / raw)
To: linux-c-programming
Yes, but don't send the code snippet as an attachment. It's seems like you
have problems with that.
Send your code snippet as part of the message body please
-----Mensaje original-----
De: linux-c-programming-owner@vger.kernel.org
[mailto:linux-c-programming-owner@vger.kernel.org]En nombre de Sandro
Dangui
Enviado el: Miércoles, 08 de Octubre de 2003 09:44
Para: qhwang
CC: linux-c-programming@vger.kernel.org
Asunto: RE: out of memory
Then you have to send us the piece of code that contains this hungry loop.
-----Original Message-----
From: qhwang [mailto:qhwang@ieeta.pt]
Sent: quarta-feira, 8 de outubro de 2003 09:36
To: Dangui, Sandro [CMPS:RY11:EXCH]
Cc: linux-c-programming@vger.kernel.org
Subject: Re: out of memory
> Do you have recursive calls?
> If you alloc all memory you need in the beginning, then the only
> problem that I can figure is that you have an infinite recursive
> call... or a loop between calls. It may be causing a stack overflow.
In my program there is a loop over 10k iteratives (image). In each loop
there are some kind of statistical learning algorithm running. It is killed
after it uses about 650 MB space (code + mainly data) with my laptop after
out of memory and swap. I believe the problem lies inside the loop but
there should be no infinite loop because when I reduce the loop to over 1k
iteratives the program runs well. In this case it uses more 100 MB space.
I wonder where is this huge data space requirement coming from, since there
is no memory allocation inside the loop?
> BTW: You have problems with your e-mail:
It's very strange.
QingHua
-
To unsubscribe from this list: send the line "unsubscribe
linux-c-programming" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
-
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: out of memory
2003-10-08 13:31 ` Mariano Moreyra
@ 2003-10-08 13:38 ` Piyush Jain
0 siblings, 0 replies; 10+ messages in thread
From: Piyush Jain @ 2003-10-08 13:38 UTC (permalink / raw)
To: mariano_moreyra; +Cc: linux-c-programming
plz. send the code relevant part only...
On Wed, 8 Oct 2003, Mariano Moreyra wrote:
> Yes, but don't send the code snippet as an attachment. It's seems like you
> have problems with that.
> Send your code snippet as part of the message body please
>
>
> -----Mensaje original-----
> De: linux-c-programming-owner@vger.kernel.org
> [mailto:linux-c-programming-owner@vger.kernel.org]En nombre de Sandro
> Dangui
> Enviado el: Miércoles, 08 de Octubre de 2003 09:44
> Para: qhwang
> CC: linux-c-programming@vger.kernel.org
> Asunto: RE: out of memory
>
>
>
> Then you have to send us the piece of code that contains this hungry loop.
>
>
> -----Original Message-----
> From: qhwang [mailto:qhwang@ieeta.pt]
> Sent: quarta-feira, 8 de outubro de 2003 09:36
> To: Dangui, Sandro [CMPS:RY11:EXCH]
> Cc: linux-c-programming@vger.kernel.org
> Subject: Re: out of memory
>
>
>
>
> > Do you have recursive calls?
> > If you alloc all memory you need in the beginning, then the only
> > problem that I can figure is that you have an infinite recursive
> > call... or a loop between calls. It may be causing a stack overflow.
>
> In my program there is a loop over 10k iteratives (image). In each loop
> there are some kind of statistical learning algorithm running. It is killed
> after it uses about 650 MB space (code + mainly data) with my laptop after
> out of memory and swap. I believe the problem lies inside the loop but
> there should be no infinite loop because when I reduce the loop to over 1k
> iteratives the program runs well. In this case it uses more 100 MB space.
>
> I wonder where is this huge data space requirement coming from, since there
> is no memory allocation inside the loop?
>
>
>
> > BTW: You have problems with your e-mail:
> It's very strange.
>
> QingHua
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe
> linux-c-programming" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
"Anyone can do any amount of work provided
it isn't the work he is supposed to be doing at the moment."
-----------------
Piyush Jain
PhD Student (CSE)
G-108/Hall7
Mobile:9839079614
-
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: out of memory
[not found] <31E38B53D182D51195FA00508BE3A33402CE4C9B@zwnbc004.cala.nortel.com>
2003-10-08 12:36 ` out of memory qhwang
@ 2003-10-08 15:07 ` qhwang
2003-10-08 15:22 ` ronkhu
1 sibling, 1 reply; 10+ messages in thread
From: qhwang @ 2003-10-08 15:07 UTC (permalink / raw)
To: linux-c-programming
Hi, there
Below is the relevant piece of code. The main loop
for(i=0;i<(rows-32);i++)
for(j=0;j<(cols-32);j++) {
GetSubWindow(image,win,i,j,cols,32,32);
detectiontest(win, w, tol, nvar,MU,SI,PS,ES,MUT,SIT,PST,EST,32); //the
statistical learning algo
...
}
in detectiontest
...
do
{
/* EM algorithm */
p1=1.0;
p1*=emhht(w,P,MU,SI,PS,ES);
/* check convergence */
temp=computeerr(...);
...
}
while(temp > tol);
...
There are lot of memory allocation in function emhht but they are well
conducted. There should be no problem with it.
Any suggestion?
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: out of memory
2003-10-08 15:07 ` qhwang
@ 2003-10-08 15:22 ` ronkhu
2003-10-08 16:31 ` qhwang
2003-10-09 11:00 ` qhwang
0 siblings, 2 replies; 10+ messages in thread
From: ronkhu @ 2003-10-08 15:22 UTC (permalink / raw)
To: qhwang, linux-c-programming
Hello,
hmmm... how about making use of software tools? like gdb? how about
other profilers?
r u sure memory storage had been properly deallocated within emhht?
-Ron
qhwang wrote:
>Hi, there
>
>Below is the relevant piece of code. The main loop
>
>
> for(i=0;i<(rows-32);i++)
> for(j=0;j<(cols-32);j++) {
> GetSubWindow(image,win,i,j,cols,32,32);
> detectiontest(win, w, tol, nvar,MU,SI,PS,ES,MUT,SIT,PST,EST,32); //the
>statistical learning algo
> ...
> }
>
>in detectiontest
>...
> do
> {
> /* EM algorithm */
> p1=1.0;
> p1*=emhht(w,P,MU,SI,PS,ES);
>
> /* check convergence */
> temp=computeerr(...);
> ...
> }
> while(temp > tol);
>...
>
>There are lot of memory allocation in function emhht but they are well
>conducted. There should be no problem with it.
>
>Any suggestion?
>
>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: out of memory
2003-10-08 15:22 ` ronkhu
@ 2003-10-08 16:31 ` qhwang
[not found] ` <1065630558.3f843b5e20715@www.correo.unam.mx>
2003-10-09 11:00 ` qhwang
1 sibling, 1 reply; 10+ messages in thread
From: qhwang @ 2003-10-08 16:31 UTC (permalink / raw)
To: ronkhu; +Cc: linux-c-programming
> hmmm... how about making use of software tools? like gdb? how about
> other profilers?
> r u sure memory storage had been properly deallocated within emhht?
I have already used gdb for debugging but the problem is still there. In the
function emhht, there are 8 2D pointers to structure allocated and released.
Seven structures have two double type members, 1 has four double type
members. The factual sizes of pointers are 32x32. My computer reports that
the double type is 8 bytes. So, bascially the amount of memory each time
needed is (7*8*2+8*4)*32*32=144 KB. If there structure are not released,
there should be a big mess. But they are really released in my program. And
there is no reportedly illegal memory operation when I set MALLOC_CHECK_=1
for checking.
QingHua
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: out of memory
[not found] ` <1065630558.3f843b5e20715@www.correo.unam.mx>
@ 2003-10-08 16:45 ` qhwang
0 siblings, 0 replies; 10+ messages in thread
From: qhwang @ 2003-10-08 16:45 UTC (permalink / raw)
To: davidgn; +Cc: linux-c-programming
> Try using something like memprof
Many thanks.
I am trying to download and install it.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: out of memory
2003-10-08 15:22 ` ronkhu
2003-10-08 16:31 ` qhwang
@ 2003-10-09 11:00 ` qhwang
1 sibling, 0 replies; 10+ messages in thread
From: qhwang @ 2003-10-09 11:00 UTC (permalink / raw)
To: linux-c-programming
I have found where the problem arises. It's a wavelet transformation
algorithem right before the do/while loop in detectiontest. I am now
figouring it out.
Many thanks for all your response.
QingHua
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2003-10-09 11:00 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <31E38B53D182D51195FA00508BE3A33402CE4C9B@zwnbc004.cala.nortel.com>
2003-10-08 12:36 ` out of memory qhwang
2003-10-08 15:07 ` qhwang
2003-10-08 15:22 ` ronkhu
2003-10-08 16:31 ` qhwang
[not found] ` <1065630558.3f843b5e20715@www.correo.unam.mx>
2003-10-08 16:45 ` qhwang
2003-10-09 11:00 ` qhwang
2003-10-08 12:44 Sandro Dangui
2003-10-08 13:31 ` Mariano Moreyra
2003-10-08 13:38 ` Piyush Jain
-- strict thread matches above, loose matches on Subject: below --
2003-10-08 11:34 qhwang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).