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 use statistics (`verbose=TRUE`).

### Usage

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

### Arguments

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

### Details

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

### Value

`gc` returns a 2*3 matrix with rows `"Ncells"` (cons cells, usually 20 bytes each on 32-bit systems, 36 bytes each on 64-bit systems) and `"Vcells"` (vector cells, 8 bytes each), and columns `"free"`, `"total"` and `"(Mb)"` (rounded up to the next 0.1Mb).

`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(0); for(i in 1:18) x <- c(x,i,x)
    gcinfo(verbose = FALSE)#-- don't show it anymore

    ( rgc <- gc(TRUE) )
    (100*rgc[,"free"])%/% rgc[,"total"] # the percentages
    rgc[2,"free"]/ (1024 / 8) # free vector heap in K bytes

[Package Contents]