我正在尝试解决Shiny,R中的内存泄漏。我正在使用pryr软件包打印内存。这是一些简单的代码,如果我让它继续运行,内存将不断增加。这让我觉得要么我不了解内存使用情况,要么闪亮/ pryr有问题?
library(shiny)
library(pryr)
ui<-fluidPage(
textOutput("Memory"))
server <- function(input, output, session) {
memUsed <- function() {paste0(round(mem_used()/1000000,3)," mb")}
output$"Memory"<-renderText({
invalidateLater(10)
memUsed()
})
}
shinyApp(ui, server)
当我第一次尝试解决遇到的内存泄漏时,我以为我唯一的问题是使用诸如watch / observe事件之类的东西,并且首先问了一个有关如何定位内存泄漏的问题:{{3 }}然后,我有一个更具体的代码示例,出现了内存泄漏:R Shiny Memory Leak - Suggestions on how to find?尽管我在减少内存方面已经取得了一些个人进展,但我仍在泄漏。这个数量肯定很小,但是一周后这个数字将增加到GB范围内,从而降低了我的程序速度。
我尝试按原样使用该函数,使其具有反应性,或者只是不使用memUsed函数,而只是将paste0放入输出中无济于事。我已经在PC和Mac上都尝试过此代码,并且功能相同。我一直在尝试找出其他相关的事物,例如:Solving a memory leak - Shiny R和https://github.com/rstudio/shiny/issues/1253,但是我还没有看到至少可以使我理解这个问题的事物。