Lisp中当前的内存使用情况

rwa*_*ace 5 lisp memory-management common-lisp

我需要从Common Lisp程序中找出当前使用的内存量.

我理解没有可移植的方法(标准函数room以文本形式将信息打印到标准输出而不是将其作为值返回),但sb-kernel:dynamic-usage在SBCL中有效.

其他Common Lisp实现中的等价物是什么?或者是否有另一种解决这个问题的方法我应该看看?

Rai*_*wig 10

它可能对你没什么帮助,但无论如何:

您可以捕获(房间)的输出并解析它.

(with-output-to-string (*standard-output*)
  (room))
Run Code Online (Sandbox Code Playgroud)

上面返回一个带有ROOM输出的字符串.

此外,通过外部调用标准unix命令(如果您使用的是Unix),可能有助于请求进程的内存大小.