On 4/4/07, Max Dyckhoff <[EMAIL PROTECTED]> wrote:
My instance of vim (gvim on Windows) appears to have a memory leak, which makes
me sad. Is this a common thing for everyone, or is there something in my setup
which might be causing it? It's pretty serious.
When I start gvim and load my standard session, it will take up about 86MB of
RAM. This includes dozens of buffers, splits, tabs and syntax, so I'm not
really worried. After about four hours it will be up to more like 120MB, and
after a couple of days it will be 200MB+.
Loading a "fresh" copy of gvim with all the plugins and my .vimrc, there are
various actions I can see that increase the memory usage as reported by the Windows Task
Manager. I have no idea on the validity of the Task Manager, but it's all I have on
Windows.
:sp on a new buffer causes a raise of 4-8K.
:q on a split causes a raise of 4-8K.
Switching to/from gvim causes a small increase, typically 4-8K for a
few switches.
Searching (with *) for a word in a .c file (with syntax highlighting)
causes it to increase. If you hold down * then you can see the memory usage
rocket up.
Basically, pretty much any action.
Any ideas? Will I just have to live with it and restart my vim session every
couple of days?
Max,
I recalled two more things. Is your 'hidden' option set ? If it's set,
vim *will* grow. With 'hidden' set, vim will keep in memory much data
about old buffers. If you want to minimize memory, first thing you'd do is
':set nohidden'. To check your current state, 'set hidden?'.
Second important thing is :bw. Even with ':set nohidden', vim will
remember some data for every file it ever visited. To free this data
completely, you need to :ls!, then :bw for every unused buffer.
I think these two things will decrease vim's memory footprint
(in case you had 'set hidden').
Yakov