| % File src/library/utils/man/Rprofmem.Rd |
| % Part of the R package, https://www.R-project.org |
| % Copyright 1995-2007 R Core Team |
| % Distributed under GPL 2 or later |
| |
| \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 memory |
| allocations. 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" heap |
| larger than this number of bytes will be reported. |
| } |
| } |
| \details{ |
| Enabling profiling automatically disables any existing profiling to |
| another 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 to |
| allocate a page of memory for small objects. The size of a page of |
| memory and the size above which \code{malloc} is used for vectors are |
| compile-time constants, by default 2000 and 128 bytes respectively. |
| |
| The profiler tracks allocations, some of which will be to previously |
| used 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 a |
| compile-time option. |
| (It is enabled in a standard Windows build of \R.) |
| |
| The memory profiler can be used at the same time as other \R and C profilers. |
| } |
| \value{ |
| None |
| } |
| |
| \seealso{ |
| The R sampling profiler, \code{\link{Rprof}} also collects |
| memory 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} |