Rod wrote: > On Jan 8, 2008 3:40 PM, Duncan Murdoch <[EMAIL PROTECTED]> wrote: > >> On 1/8/2008 8:49 AM, Rod wrote: >> >>> On Jan 8, 2008 12:41 PM, Duncan Murdoch <[EMAIL PROTECTED]> wrote: >>> >>>> Rod wrote: >>>> >>>>> Hello, >>>>> >>>>> I have a memory problem when I run package WinBUGS with R (2.6.1). >>>>> Until now I have been using a Pentium IV 3.2Ghz computer with 512Mb of >>>>> RAM memory (with Windows XP Pro SP2), and I hadn't had any problem. >>>>> Now I have a new computer with the following characteristics: Intel >>>>> Core 2 duo 2.33Ghz and 3Gb of RAM memory (with Windows XP Pro SP2) and >>>>> when I am running the same R syntax I receive the following error >>>>> message: >>>>> >>>>> "Error: cannot allocate vector of size 216.0 Mb". >>>>> >>>>> This is an extract of my R syntax: >>>>> >>>>> >>>>> >>>>>> memory.limit(4000) >>>>>> >>>>>> >>>>> NULL >>>>> >>>>> >>>>>> simu.BYM<-bugs(data, inits, parameters, model.file="Modelo.txt", >>>>>> n.chains=3, n.iter=200000, n.burnin=20000, n.thin=180, debug=FALSE, >>>>>> DIC=FALSE, digits=5, codaPkg=FALSE, bugs.directory="c:/Archivos de >>>>>> programa/WinBUGS14", working.directory=NULL) >>>>>> >>>>>> >>>>> Error: cannot allocate vector of size 216.0 Mb >>>>> >>>>> I have tried: >>>>> -Change size of virtual memory inside Windows XP >>>>> -change the R memory settings >>>>> -run from DOS (R CMD BATCH...) >>>>> -reviewed the R Windows FAQ and R-Help. >>>>> >>>>> but I haven't be able to find a solution ! >>>>> >>>> Could you try R-patched? I recently fixed a minor bug that could have >>>> symptoms like this. Under certain conditions it would miscalculate the >>>> amount of available memory. You can download a copy from >>>> cran.r-project.org/bin/windows/base/rpatched.html. >>>> >>>> Duncan Murdoch >>>> >>>> >>> Dear Duncan, >>> >>> Thank for your advice. But, the patched version produce the same error. >>> >> In that case, you are probably really running out of memory. It's hard >> to see why this would happen on the larger machine and not the smaller >> one, but perhaps the code tries to adapt itself to available resources. >> You are likely to have a bit of work diagnosing the problem. >> >> The tools to use are memory.size(), memory.limit() (which report on what >> is available); memory.profile() (which gives more detail on usage). >> Rprofmem() would also be nice, but it's not enabled in the standard >> Windows build. >> >> Duncan Murdoch >> >> > > Dear Duncan, > > I have tried to run the same syntax in another pc (with exactly the > same mark and model as mine) and I have obtained the same error. Then > we can rule out that it is a problem with the hardware of my pc. > > I have tried to change the memory with command --max-mem-size=4000M > ("c:\...\Rgui.exe" --max-mem-size=4000Mb) but I obtain this alert: > > WARNING: --max-mem-size=4000M: too large and taken as 2047 >
Windows normally reserves 2 GB for itself. You can reduce this to 1 GB (the method is described in the R Windows FAQ 2.9), but there's no way to allocate more than 3 GB to a process in 32 bit Windows. More below... > Here I show you the parameters of memory that I obtain before and > after I run my syntax, and the gc() results obtained during the > process. Perhaps this values can help you. > > thank you, > > Rodrigo > > > ############# Memory values before I run the syntax############### > > >> memory.limit() >> > [1] 1535.875 > >> memory.size() >> > [1] 29.42623 > >> memory.profile() >> > NULL symbol pairlist closure environment promise > 1 9368 407965 12045 2013 7091 > language special builtin char logical integer > 107052 269 2397 11503 13032 8429 > double complex character ... any list > 11122 17 122950 1 0 7535 > expression bytecode externalptr weakref raw > 1 0 1341 359 1 > >> gc() >> > used (Mb) gc trigger (Mb) max used (Mb) > Ncells 727690 19.5 1166886 31.2 984024 26.3 > Vcells 282062 2.2 786432 6.0 519695 4.0 > > ############# Memory values after I run the syntax############### > > >> memory.limit() >> > [1] 4000 > >> memory.size() >> > [1] 1417.948 > >> memory.profile() >> > NULL symbol pairlist closure environment promise > 1 9921 466736 12211 2013 7091 > language special builtin char logical integer > 114491 269 2397 14534 13341 46991 > double complex character ... any list > 35508 17 131349 1 0 14663 > expression bytecode externalptr weakref raw > 1 0 1324 342 1 > >> gc() >> > used (Mb) gc trigger (Mb) max used (Mb) > Ncells 876371 23.5 1835812 49.1 1835812 49.1 > Vcells 1247398 9.6 121622414 928.0 180932899 1380.5 > >> memory.size(TRUE) >> > [1] 1541.688 > > > ############# gc() values during the process############### > > > Garbage collection 330 = 271+30+29 (level 2) ... > 23.6 Mbytes of cons cells used (48%) > 9.9 Mbytes of vectors used (8%) > Garbage collection 331 = 271+30+30 (level 2) ... > 23.6 Mbytes of cons cells used (48%) > 117.8 Mbytes of vectors used (49%) > Garbage collection 332 = 271+30+31 (level 2) ... > 23.6 Mbytes of cons cells used (48%) > 225.8 Mbytes of vectors used (64%) > Garbage collection 333 = 271+30+32 (level 2) ... > 23.6 Mbytes of cons cells used (48%) > 333.8 Mbytes of vectors used (72%) > Garbage collection 334 = 272+30+32 (level 0) ... > 23.6 Mbytes of cons cells used (48%) > 441.9 Mbytes of vectors used (95%) ... deletions > Garbage collection 454 = 369+38+47 (level 2) ... > 24.2 Mbytes of cons cells used (49%) > 1217.2 Mbytes of vectors used (91%) > Garbage collection 455 = 369+38+48 (level 2) ... > 24.2 Mbytes of cons cells used (49%) > 1325.1 Mbytes of vectors used (91%) > Garbage collection 456 = 369+38+49 (level 2) ... > 24.4 Mbytes of cons cells used (50%) > 1380.4 Mbytes of vectors used (82%) > Garbage collection 457 = 370+38+49 (level 0) ... > 24.4 Mbytes of cons cells used (50%) > 1380.4 Mbytes of vectors used (82%) > Error: cannot allocate vector of size 216.0 Mb > It looks as though your memory use really is growing over the run, up to 1.4 GB. At this point the memory manager was unable to find a 216 MB block. This looks like a problem in your code, or in the package: you seem to have a memory leak. You can't increase memory indefinitely, eventually you'll run out. Duncan Murdoch ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.