Page 1 of 1

sbcl howto find current memory usage

Posted: Tue May 17, 2011 8:47 am
by rich289
I want to write an after-gc-hook which can detect that we are nearing the dynamic-space-allocation limit and throw an error.
However I have not been able to find and variables or functions which will report the current dynamic space usage.
(room) prints the desired info but I need to access from a hook.

So question is which functions or variables will report memory usage?

Re: sbcl howto find current memory usage

Posted: Tue May 17, 2011 8:48 pm
by Duke
rich289 wrote:I want to write an after-gc-hook which can detect that we are nearing the dynamic-space-allocation limit and throw an error.
However I have not been able to find and variables or functions which will report the current dynamic space usage.
(room) prints the desired info but I need to access from a hook.

So question is which functions or variables will report memory usage?
I dug around in the SBCL source and managed to do this:

Code: Select all

(push #'(lambda () (print (sb-kernel::dynamic-usage))) sb-kernel::*after-gc-hooks*)
(sb-kernel::gc)
Is that about right, or am I misreading you?

Re: sbcl howto find current memory usage

Posted: Wed May 18, 2011 6:34 am
by rich289
sb-kernel::dynamic-usage is exactly what I was looking for.
Thank you very much.