【问题标题】:Assessing how large a file (How much RAM it will take) will be in R before loading it在加载之前评估文件在 R 中的大小(它将占用多少 RAM)
【发布时间】:2014-06-19 05:05:41
【问题描述】:

我想知道是否有一些函数可以通过给定文件名 + 路径来评估 R 需要多少 RAM 才能使用它?我希望在加载之前能够知道这些信息。

【问题讨论】:

  • 我不认为有这样的功能。您仍然可以根据您对数据的了解程度和 R 的读取能力进行猜测。这仅用于“阅读”。
  • 如果您使用众所周知的数据进行一些分析,这可能会起作用,但如果您想创建一个可能使用多种数据集(我正在寻找的)的强大软件,那将不会帮助
  • 您确实需要对数据有很多了解。与纯文本相比,存储在内存中的数字通常需要更少的字节。但是像因子这样的东西被有效地存储,所以每个重复的字符串只存储一次,所以存储基本上只是一个整数。所以我认为文件大小是一个上限,但根据整个文件内容的不同,减少量可能会有很大差异。

标签: r memory ram


【解决方案1】:

您可以使用“fstat” http://linux.die.net/man/2/fstat

它将报告有关您的文件的信息,例如实际文件大小。

struct stat {
    dev_t     st_dev;     /* ID of device containing file */
    ino_t     st_ino;     /* inode number */
    mode_t    st_mode;    /* protection */
    nlink_t   st_nlink;   /* number of hard links */
    uid_t     st_uid;     /* user ID of owner */
    gid_t     st_gid;     /* group ID of owner */
    dev_t     st_rdev;    /* device ID (if special file) */
    off_t     st_size;    /* total size, in bytes */
    blksize_t st_blksize; /* blocksize for file system I/O */
    blkcnt_t  st_blocks;  /* number of 512B blocks allocated */
    time_t    st_atime;   /* time of last access */
    time_t    st_mtime;   /* time of last modification */
    time_t    st_ctime;   /* time of last status change */
};

【讨论】:

  • 这会报告磁盘上的文件大小。另外,你怎么知道这个人在使用 linux?
  • 谢谢,但我想评估 RAM,而不是文件大小
猜你喜欢
  • 2015-01-05
  • 2016-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-24
  • 1970-01-01
  • 2021-04-03
相关资源
最近更新 更多