I've got a curious little bit of a memory leak of sorts that I'm
trying to narrow down.

I have an application (betcha can guess what it is if you know me from
IRC :>) that, in order to reload plugins, requires each of them with
the :reload option whenever you ask them to be reloaded.

Each of these plugins calls a macro that defines a set of defmethods
for a multimethod in a namespace that never does get reloaded. They
also define a single function that isn't a method.

Whenever these 'plugins' are reloaded (there are about 20 of them),
the memory my application uses is raised by about 3MB, as monitored
with htop. It's very consistent and always raises 2-3MB each time. The
less plugins being reloaded, the less dramatic the memory jump.

Now, my question is: can require with :reload a lot of namespaces like
this cause this sort of thing to happen? I mostly just need to know
whether or not I'm going in the wrong direction. I've never had this
sort of problem before.

If so, are there any steps I can take to keep memory from building up
like this?

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to