我反复称一个已初始化的回忆录函数是这样的:
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,以防与此相关)
发布于 2021-02-24 11:12:34
我找到了解决这个问题的办法。
默认情况下,memoise使用cachem::cache_mem创建缓存。或者,我可以使用cachem::cache_disk,它允许我指定文件系统上缓存的位置。那么,看看缓存中有多少空闲内存就很简单了:
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)
}https://stackoverflow.com/questions/66338888
复制相似问题