首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用R函数初始化的缓存中可用的内存量:`memoise::memoise()‘

用R函数初始化的缓存中可用的内存量:`memoise::memoise()‘
EN

Stack Overflow用户
提问于 2021-02-23 18:18:39
回答 1查看 36关注 0票数 1

我反复称一个已初始化的回忆录函数是这样的:

代码语言:javascript
复制
library(memoise)
memoised_func <- memoise::memoise(func)

我知道我可以使用cache参数(https://www.rdocumentation.org/packages/memoise/versions/2.0.0/topics/memoise)来设置分配给cache的缓存的大小。但是是否有一种方法可以查看缓存中有多少空闲内存在任何时间点上?我之所以问这个问题,是因为我想知道它是否已被填满,因此我的计划可以通过增加缓存的大小来加速。

(我正在Ubuntu 20.10上运行Ubuntu 20.10,以防与此相关)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-24 11:12:34

我找到了解决这个问题的办法。

默认情况下,memoise使用cachem::cache_mem创建缓存。或者,我可以使用cachem::cache_disk,它允许我指定文件系统上缓存的位置。那么,看看缓存中有多少空闲内存就很简单了:

代码语言:javascript
复制
library(memoise)
library(cachem)

#assigned in global scope
cache.dir <<- tempdir() 
cache.size <<- 2048 * 1024^2

memoised_func <- memoise::memoise(func, 
                                cache = cachem::cache_disk(
                                                dir = cache.dir,
                                                max_size = cache.size))

cache.percent.full <- function() {
    used.mem <- file.size(dir(cache.dir, full.names = TRUE)) %>% 
                    sum() 
    return(used.mem/cache.size * 100)
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66338888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档