如何配置SBCL以在通过Emacs启动时使用更多RAM?

如何配置SBCL以在通过Emacs启动时使用更多RAM?,emacs,ram,sbcl,Emacs,Ram,Sbcl,当我在Emacs中使用“M-x slime”启动SBCL时,如何配置SBCL以使其使用比默认值更多的内存 从我在网上看到的情况来看,答案似乎是调用SBCL,传递参数“动态空间大小”。因为我不直接调用SBCL,所以我不知道如何传递它 我在Windows 7上使用GNU Emacs 22.3.1和SBCL 1.0.48。我也没有配置的经验,所以请新手介绍。通常的方法是将变量的值设置为您想要执行的命令,包括您想要给出的任何选项。现在我身上没有emacs,但这可能足够了: (setq inferior-

当我在Emacs中使用“M-x slime”启动SBCL时,如何配置SBCL以使其使用比默认值更多的内存

从我在网上看到的情况来看,答案似乎是调用SBCL,传递参数“动态空间大小”。因为我不直接调用SBCL,所以我不知道如何传递它


我在Windows 7上使用GNU Emacs 22.3.1和SBCL 1.0.48。我也没有配置的经验,所以请新手介绍。

通常的方法是将变量
的值设置为您想要执行的命令,包括您想要给出的任何选项。现在我身上没有emacs,但这可能足够了:

(setq inferior-lisp-program "sbcl --dynamic-space-size 1024")

我在Debian挤压机上使用SLIME 1:20120420-2。自此版本起,by不起作用。我写信给slime devel,被告知

只要在您的
~/.emacs,设置低级lisp程序应该有效。
如果使用slime lisp实现,则必须修改
如果
slime lisp实现不是零:

因此,如果要检查
slime lisp实现的值是多少

只需评估变量
slime lisp实现
,例如使用M-x
求值表达式。如果它为零或未绑定,则不会使用它

事实证明,
slime lisp实现
对我来说的价值是

(("sbcl" ("sbcl")) ("clisp" ("clisp")) ("ecl" ("ecl")) ("cmucl" ("cmucl")))   
因此,我在我的
~/.emacs

(setq slime-lisp-implementations '(("sbcl" ("sbcl" "--dynamic-space-size" "1024")) ("clisp" ("clisp")) ("ecl" ("ecl")) ("cmucl" ("cmucl"))))
关于这是在哪里设置的

如果您想知道是谁或什么将其设置为值,则
也可以选中/etc/emacs/site lisp/或/usr/share/emacs/site lisp/

在此版本的SLIME中,
SLIME lisp实现
设置在
/usr/share/emacs/site lisp/SLIME/SLIME.el

有关
slime lisp实现的文档,请参阅

或者使用M-x描述变量


上面的所有引用都来自slime-devel上的线程。

我用上面的表单替换了我在.emacs文件中的上一个(setq-subsier-lisp程序…),它成功了。当我设置时,我将“1024”改为“2048”,但是,SBCL崩溃了,说这个值无效。你知道这个值的范围吗?如果我想的话,为什么我不能分配两份工作呢?>\uu>Windows 7中32位进程的用户模式内存限制似乎是2GB。动态空间大小只是sbcl使用的内存的一部分(虽然可能是最大的),因此2GB的动态空间大小将使其超过2GB的限制。也许还有另一个原因。虽然它很古老,但我只是想说这是我今天需要使用的方法。第一种方法对我不起作用。谢谢你发帖。
(setq slime-lisp-implementations '(("sbcl" ("sbcl" "--dynamic-space-size" "1024")) ("clisp" ("clisp")) ("ecl" ("ecl")) ("cmucl" ("cmucl"))))