Rev 38028 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
\name{Rprofmem}\alias{Rprofmem}\title{Enable Profiling of R's Memory Use}\description{Enable or disable reporting of memory allocation in R.}\usage{Rprofmem(filename = "Rprofmem.out", append = FALSE, threshold = 0)}\arguments{\item{filename}{The file to be used for recording the memoryallocations. Set to \code{NULL} or \code{""} to disable reporting. }\item{append}{logical: should the file be over-written or appended to? }\item{threshold}{numeric: allocations on R's "large vector" heaplarger than this number of bytes will be reported.}}\details{Enabling profiling automatically disables any existing profiling toanother or the same file.Profiling writes the call stack to the specified file every time\code{malloc} is called to allocate a large vector object or toallocate a page of memory for small objects. The size of a page ofmemory and the size above which \code{malloc} is used for vectors arecompile-time constants, by default 2000 and 128 bytes respectively.The profiler tracks allocations, some of which will be to previouslyused memory and will not increase the total memory use of R.}\note{The memory profiler slows down R even when not in use, and so is acompile-time option. The memory profiler can be used at the same timeas other R and C profilers.}\value{None}\seealso{The R sampling profiler, \code{\link{Rprof}} also collectsmemory information.\code{\link{tracemem}} traces duplications of specific objects.The "Writing R Extensions" manual section on "Tidying and profiling R code"}\examples{\dontrun{## not supported unless R is compiled to support it.Rprofmem("Rprofmem.out", threshold=1000)example(glm)Rprofmem(NULL)noquote(readLines("Rprofmem.out", n=5))}}\keyword{utilities}