gc                   package:base                   R Documentation

_G_a_r_b_a_g_e _C_o_l_l_e_c_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     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').

_U_s_a_g_e:

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

_A_r_g_u_m_e_n_t_s:

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

_D_e_t_a_i_l_s:

     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.

_V_a_l_u_e:

     `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.

_S_e_e _A_l_s_o:

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

_E_x_a_m_p_l_e_s:

     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

