OK, I would do the following: 1. Watch memory usage as the program runs, both within R and at the OS level for the R process. I suppose your code allocates memory (eg with "new") within the R process but the R memory manager knows nothing about it. So you can tell where memory is leaking, if at all.
2. write a dummy .so to return constant values, doing no computation, but using the same interface. If you still have the problem then you have a problem with the R code. If this got me nowhere I would start R under gdb and look around. The "Writing R Extensions" has a section on this. Reid -----Original Message----- From: Samuel Kemp [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 08, 2004 11:46 AM To: Huntsinger, Reid Cc: [EMAIL PROTECTED] Subject: Re: [R] memory problem Thanks. Here is some more information..... My platform is a Linux desktop. The C++ code implements a Gamma test which is calculated by constructing near neighbour lists (kd-tree) - the C++ code returns the deltas and gammas, the R code gets the noise estimate of the data by doing a linear regression on these deltas and gammas. However, at the end of my C++ code I do delete all objects on the free store. This Gamma test code should be called 16,000 times but R crashes after about 14,000, with "killed". Huntsinger, Reid wrote: >Some additional details would help. What platform? What does the C++ code do >that might cause a memory leak? How are you calling it? > >I don't see why unloading the library would free memory even if it were >allocated outside R's memory management. Unless you're using Windows you >don't need to worry about allocating memory for R, just check that there are >no limits on memory allocation set by the administrator. > >Reid Huntsinger > >-----Original Message----- >From: [EMAIL PROTECTED] >[mailto:[EMAIL PROTECTED] On Behalf Of Samuel Kemp >Sent: Wednesday, December 08, 2004 6:29 AM >To: [EMAIL PROTECTED] >Subject: [R] memory problem > > >Hi, > >I am trying to run a very computationally expensive procedure in >R-2.0.0. and the process always gets killed after approx 8 minutes. This >procedure calls some of my own C++ code - in case it was this code >causing a memory leak I unload and then reload the .so file every time, >however I still get the same problem. The procedure is run 16000 times >and always calls the lm() function. My believe at the moment is that I >need to allocate more memory for R - is this correct? I did try envoking >R from the command line using R --min-vsize=1000M, however still no luck. > >I have googled around and looked at the help files, but I am still >confused about how to fix this problem. > >Any insight would be greatly appeciated. > >Kind Regards, > >Sam. > >______________________________________________ >[EMAIL PROTECTED] mailing list >https://stat.ethz.ch/mailman/listinfo/r-help >PLEASE do read the posting guide! >http://www.R-project.org/posting-guide.html > > > >--------------------------------------------------------------------------- --- >Notice: This e-mail message, together with any attachments, contains information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station, New Jersey, USA 08889), and/or its affiliates (which may be known outside the United States as Merck Frosst, Merck Sharp & Dohme or MSD and in Japan, as Banyu) that may be confidential, proprietary copyrighted and/or legally privileged. It is intended solely for the use of the individual or entity named on this message. If you are not the intended recipient, and have received this message in error, please notify us immediately by reply e-mail and then delete it from your system. >--------------------------------------------------------------------------- --- > > > ______________________________________________ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
