How to find the cause of nvim using excessive memory


How to find the cause of nvim using excessive memory



My current nvim is using excessive memory, 34.1GB.



How can I go about to find the cause of the excessive memory leak if any:



Activity Monitor on MacOS reports this using the "i" inspector:


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



I have looked at the call graph using the sample feature of the Activity monitor, but to me it provides no meaningful information. The log provides pages of method names, in a graph.



Here is an extract illustrating the method / function names: (I guess I need debug symbols or something to interpret this)


+ 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]



At the bottom of the log, I see this:


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]









By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Comments

Popular posts from this blog

paramiko-expect timeout is happening after executing the command

Possible Unhandled Promise Rejection (id: 0): ReferenceError: user is not defined ReferenceError: user is not defined

Opening a url is failing in Swift