我当前的 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]