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"), reset=FALSE)
    gcinfo(verbose)

### Arguments

`verbose` | logical; if `TRUE`, the garbage collection prints statistics about cons cells and the vector heap.
`reset` | logical; if `TRUE` the values for maximum space used are reset to the current values

### 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).
The final two columns show the maximum space used since the last call to `gc(reset=TRUE)` (or since R started).
`gcinfo` returns the previous value of the flag.

### See Also

`Memory` on R's memory management, and `gctorture` if you are an R hacker. `reg.finalizer` for actions to happen upon garbage collection.

### 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)

    gc(reset=TRUE)

[Package base version 2.3.1 Index]