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]