R: Garbage Collection

gc {base} | R Documentation

## Garbage Collection

### Description

A call of `gc` causes a garbage collection to take place. `gcinfo` sets a flag so that automatic collection is either silent (`verbose=FALSE`) or prints memory usage statistics (`verbose=TRUE`).

### Usage

    gc(verbose = getOption("verbose"))
    gcinfo(verbose)

### Arguments

`verbose` | logical; if `TRUE`, the garbage collection prints statistics about cons cells and the vector heap.

### Details

A call of `gc` causes a garbage collection to take place. This takes place automatically without user intervention, and the primary purpose of calling `gc` is for the report on memory usage.

However, it can be useful to call `gc` after a large object has been removed, as this may prompt R to return memory to the operating system.

### Value

`gc` returns a matrix with rows `"Ncells"` (cons cells, usually 28 bytes each on 32-bit systems and 56 bytes on 64-bit systems, and `"Vcells"` (vector cells, 8 bytes each), and columns `"used"` and `"gc trigger"`, each also interpreted in megabytes (rounded up to the next 0.1Mb).
If maxima have been set for either `"Ncells"` or `"Vcells"`, a fifth column is printed giving the current limits in Mb (with `NA` denoting no limit).
`gcinfo` returns the previous value of the flag.

### See Also

`Memory` on R's memory management and `gctorture` if you are an R hacker.

### Examples

    gc() #- do it now
    gcinfo(TRUE) #-- in the future, show when R does it
    x <- integer(100000); for(i in 1:18) x <- c(x,i)
    gcinfo(verbose = FALSE)#-- don't show it anymore

    gc(TRUE)

[Package Contents]