完成R会话大小

pat*_*atL 12 session ls r

由于我在R Session(8GB Windows PC)中不断达到内存大小限制,我开始remove加载大对象.但是一旦达到此限制,删除对象似乎无法正常工作.

所以,我想知道是否有办法获得R Session大小.我知道可以检索对象的大小(在这个帖子中看到).我想知道是否有办法计算完整的R Session大小(加载包,对象等).

谢谢!

F. *_*ivé 6

我个人使用此函数来获取可用内存:

getAvailMem <- function(format = TRUE) {

  gc()

  if (Sys.info()[["sysname"]] == "Windows") {
    memfree <- 1024^2 * (utils::memory.limit() - utils::memory.size())
  } else {
    # http://stackoverflow.com/a/6457769/6103040
    memfree <- 1024 * as.numeric(
      system("awk '/MemFree/ {print $2}' /proc/meminfo", intern = TRUE))
  }

  `if`(format, format(structure(memfree, class = "object_size"),
                      units = "auto"), memfree)
}
Run Code Online (Sandbox Code Playgroud)