如何使用过多的内存查找nvim的原因

时间:2018-06-29 09:28:08

标签: memory-leaks neovim

我当前的 nvim 正在使用过多的34.1GB内存。

如果有的话,我该如何找到过多内存泄漏的原因:

MacOS上的活动监视器使用“ i”检查器报告此情况:

Real memory size    :    4,58  GB
Virtual memory size :   40,74  GB
Shared memory size  :    8,00  GB
Private memory size :    4,87  GB

我已经使用“活动”监视器的示例功能查看了调用图,但是对我而言它没有提供任何有意义的信息。该日志在图形中提供页面的方法名称。

以下是说明方法/函数名称的摘录:(我想我需要调试符号或其他东西来解释这一点)

 + 59 ex_return  (in nvim) + 110  [0x10d6ae827]
    + !     :                               |     +   ! :             |       + ! : |   +         ! :     |   +               !       : | +       ! : |   + ! : |         +   ! :   |   +   59 eval0  (in nvim) + 62  [0x10d6a3393]
    + !     :                               |     +   ! :             |       + ! : |   +         ! :     |   +               !       : | +       ! : |   + ! : |         +   ! :   |   +     59 eval1  (in nvim) + 49  [0x10d6a352a]
    + !     :                               |     +   ! :             |       + ! : |   +         ! :     |   +               !       : | +       ! : |   + ! : |         +   ! :   |   +       59 eval3  (in nvim) + 49  [0x10d6b111e]
    + !     :                               |     +   ! :             |       + ! : |   +         ! :     |   +               !       : | +       ! : |   + ! : |         +   ! :   |   +         59 eval4  (in nvim) + 48  [0x10d6b1276]
    + !     :                               |     +   ! :             |       + ! : |   +         ! :     |   +               !       : | +       ! : |   + ! : |         +   ! :   |   +           59 eval5  (in nvim) + 53  [0x10d6b1981]
    + !     :                               |     +   ! :             |       + ! : |   +         ! :     |   +               !       : | +       ! : |   + ! : |         +   ! :   |   +             59 eval6  (in nvim) + 49  [0x10d6b1d3b]
    + !     :                               |     +   ! :             |       + ! : |   +         ! :     |   +               !       : | +       ! : |   + ! : |         +   ! :   |   +               58 eval7  (in nvim) + 4215  [0x10d6b3041]
    + !     :                               |     +   ! :             |       + ! : |   +         ! :     |   +               !       : | +       ! : |   + ! : |         +   ! :   |   +               ! 58 get_func_tv  (in nvim) + 455  [0x10d6a5dd3]

在日志底部,我看到了:

Total number in stack (recursive counted multiple, when >=5):
        161       eval6  (in nvim) + 49  [0x10d6b1d3b]
        160       eval4  (in nvim) + 48  [0x10d6b1276]
        158       eval5  (in nvim) + 53  [0x10d6b1981]
        157       eval3  (in nvim) + 49  [0x10d6b111e]
        151       eval1  (in nvim) + 49  [0x10d6a352a]
        89       eval7  (in nvim) + 4215  [0x10d6b3041]
        82       eval0  (in nvim) + 62  [0x10d6a3393]
        81       get_func_tv  (in nvim) + 455  [0x10d6a5dd3]
        56       call_func  (in nvim) + 1014  [0x10d6a4108]
        55       call_user_func  (in nvim) + 2220  [0x10d6a9a4e]
        55       do_cmdline  (in nvim) + 2399  [0x10d6e553b]
        55       do_one_cmd  (in nvim) + 9595  [0x10d6e87bb]
        53       get_func_tv  (in nvim) + 189  [0x10d6a5cc9]
        36       try_malloc  (in nvim) + 26  [0x10d744925]
        36       xmalloc  (in nvim) + 11  [0x10d7449c1]

0 个答案:

没有答案