如何配置SBCL,使其在使用Emacs中的「M-x slime」啓動時使用的內存大於默認值?如何配置SBCL以在通過Emacs啓動時使用更多的RAM?
從我在網上看到的,答案似乎是調用SBCL,通過參數「--dynamic-space-size < size in MB >」。由於我不直接調用SBCL,我不知道如何傳遞它的參數。
我在Windows 7上使用GNU Emacs 22.3.1和SBCL 1.0.48。我沒有經驗配置,所以新手的介紹將不勝感激。
如何配置SBCL,使其在使用Emacs中的「M-x slime」啓動時使用的內存大於默認值?如何配置SBCL以在通過Emacs啓動時使用更多的RAM?
從我在網上看到的,答案似乎是調用SBCL,通過參數「--dynamic-space-size < size in MB >」。由於我不直接調用SBCL,我不知道如何傳遞它的參數。
我在Windows 7上使用GNU Emacs 22.3.1和SBCL 1.0.48。我沒有經驗配置,所以新手的介紹將不勝感激。
通常的方法是將變量inferior-lisp-program
的值設置爲您要執行的命令,包括您想要給出的任何選項。沒有現在就我一個emacs的,但是這可能是不夠的:
(setq inferior-lisp-program "sbcl --dynamic-space-size 1024")
我用泥1:20120420-2 Debian的擠壓。該版本的answer由Kilian Foth不起作用。我寫信給煤泥-devel的和你不使用你的
〜/的.emacs煤泥口齒不清的實現,設置劣-LISP程序應該工作被告知
只要。
如果您使用煤泥,口齒不清的實現,必須修改
這個變量,因爲泥忽略遜色,LISP程序,如果
煤泥口齒不清的實現不是nil:
(setq slime-lisp-implementations
'((sbcl ("sbcl" "--dynamic-space-size" "1024"))))
So, if one wants to check what the value of
slime-lisp-implementation` is
只需評估變量
slime-lisp-implementations
,例如與M-x
eval-expression。如果它是零或不綁定,那麼它將不會被使用。
事實證明,中slime-lisp-implementations
對我來說,價值是
(("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的/網站口齒不清/或/ usr /共享/ Emacs的/網站口齒不清/
在此版本的泥,slime-lisp-implementations
在/usr/share/emacs/site-lisp/slime/slime.el
設置。
對於slime-lisp-implementations
文檔,請參閱 Slime Manual: 2.5.2 Multiple Lisps
或使用M-X描述變量。
以上所有引述來自slime-devel上的線程setting heap size for SBCL for use with SLIME 。
雖然它的老,只是想說,這是我今天需要使用的方法。第一種方法對我不起作用。感謝您發佈它。 – DJM
@DJM非常歡迎。 –
我用上面的表單替換了我以前的(setq inferior-lisp-program ...)以及我的.emacs文件,它工作正常。當我設置我改變了「1024」到「2048」,但是,SBCL墜毀了,說這個值是無效的。你碰巧知道這個值的範圍?如果我想要,爲什麼我不能分配2個演出? > _> – sadakatsu
它看起來像Windows 7中的32位進程的用戶模式內存限制是2GB http://msdn.microsoft.com/en-us/library/aa366778%28VS.85%29.aspx。動態空間大小隻是sbcl使用的內存的一部分(儘管可能是最大的),所以2GB的動態空間大小將超過2GB的限制。或者也許還有另一個原因。 –