linux - 如何确定R中当前工作区中所有对象的大小? (不在 Windows 中)

标签 linux r memory-management

在 Windows 中 only可以执行 memory.size() 来获取当前 R session (中的对象)消耗的内存总量。

还可以通过 print( object.size( thing ), units='auto') 了解单个对象的大小,它表示特定数据帧有多少兆字节/千字节/ table 占满了。

但是如何做相当于 print( object.size( ---workspace--- )) 的事情呢?

循环 for (thing in ls()) print( object.size( thing ), units='auto' ) 打印出错误的输出,例如:

64 bytes
72 bytes
88 bytes
88 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
72 bytes
88 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes
64 bytes

我不是这个意思

最佳答案

要打印整个工作区的大小,您可以尝试以下功能:

workspace.size <- function() {
  ws <- sum(sapply(ls(envir=globalenv()), function(x)object.size(get(x))))
  class(ws) <- "object_size"
  ws
}

workspace.size()
# 35192 bytes

关于linux - 如何确定R中当前工作区中所有对象的大小? (不在 Windows 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22023404/

相关文章:

c++ - 将 Char 从 lex 保存到 C 中的 Char 数组

linux - 通过 SSH 属性传输文件夹的脚本

r - 如何将两个相同长度的向量合并为一个在R中也具有相同长度的向量

r - SpatialLinesDataFrame : how to calculate the min. 点和线之间的距离

swift - 在 Swift 中,声明变量并赋值是一种好习惯吗?

linux - 针对 Linux 数据库的 Azure 移动应用程序

linux - 如何删除多个目录中的文件名linux

r - 转置数据集

c - 曾经使用过的函数——我应该使用 malloc 还是不使用

c - 将结构传递给函数并将值存储在结构的元素中