How to Set JVM Memory for Clojure REPL in Emacs (clojure-jack-in, clojure-swank)

How to increase heap size for Clojure REPL started from Emacs, either standalone or as a part of a project.

1. Clojure REPL Started for a Lein Project

If you have a Leiningen 2.0 project and start Clojure REPL for it in Emacs via M-x clojure-jack-in then you can set JVM arguments such as heap size in the project.clj:

(defproject cascalog-comoyo "0.1.0-SNAPSHOT"
; ...
:jvm-opts ["-Xmx768M"])

2. Clojure REPL Started Outside of Lein

If you use Jake McCrary’s clojure-swank operation to start Clojure REPL in Emacs without having a Leiningen project then you can set JVM options by adding them to the shell-command call in clojure-swank’s definition:

(shell-command "JAVA_OPTS='-Xmx768M' ~/.lein/bin/swank-clojure &" buffer))

Published by Jakub Holý

I’m a JVM-based developer since 2005, consultant, and occasionally a project manager, working currently with Iterate AS in Norway.