R 正在列出服务器上应用程序中的对象内存使用情况

R 正在列出服务器上应用程序中的对象内存使用情况,r,shiny,R,Shiny,我一直试图显示在R Shining Server上运行时,我的R Shining应用程序中使用的每个对象的内存使用情况,以便识别内存泄漏。在R中,我可以调用ls()或objects()并获取所有信息。只要我尝试在闪亮的应用程序中显示此信息,无论是通过数据帧的renderText()还是renderDataTable(),它都是空白的。我猜函数ls()和objects()正在查看的环境存在问题。以前有人遇到过这个问题吗?下面是一个简短的示例(关键是指定要调查的环境): 库(闪亮) runApp(列

我一直试图显示在R Shining Server上运行时,我的R Shining应用程序中使用的每个对象的内存使用情况,以便识别内存泄漏。在R中,我可以调用
ls()
objects()
并获取所有信息。只要我尝试在闪亮的应用程序中显示此信息,无论是通过数据帧的
renderText()
还是
renderDataTable()
,它都是空白的。我猜函数
ls()
objects()
正在查看的环境存在问题。以前有人遇到过这个问题吗?

下面是一个简短的示例(关键是指定要调查的环境):

库(闪亮)
runApp(列表(
ui=fluidPage(
tableOutput('foo')
),
服务器=功能(输入、输出){

x1嗯,
ls
只在其调用环境中查看,所以请尝试使用
ls(.GlobalEnv)
进行调用,非常感谢,这非常有效。
library(shiny)
runApp(list(
  ui = fluidPage(
    tableOutput('foo')
  ),
  server = function(input, output) {
    x1 <- 1:100
    x2 <- rbind(mtcars, mtcars)
    env <- environment()  # can use globalenv(), parent.frame(), etc
    output$foo <- renderTable({
      data.frame(
        object = ls(env),
        size = unlist(lapply(ls(env), function(x) {
          object.size(get(x, envir = env, inherits = FALSE))
        }))
      )
    })
  }
))