Starting jEdit with a temporarily increased heap size on Mac OS X

By default the Mac OS X version of jEdit starts with 192MB of heap memory and the maximum size of text files that can be opened is limited by this parameter. In the jEdit forum there's a post on how to change the maximum size of Java heap memory of jEdit by altering the Info.plist file in the /Applications/jEdit.app/Contents directory. However this imposes a permanent change and jEdit will start with the increased heap memory pool every time (or you can make a copy of jEdit.app and launch that for large input files). Probably you just want to start jEdit with an increased heap memory to be able to open and process one single large text file.

To start jEdit with an increased heap pool and without touching the jEdit application's Info.plist, you've to start it from the commandline. The Info.plist contains everything you need to know to construct the appropriate command parameters, but I'll help you out.
Here's the command that you should execute in a Terminal window:
java -cp /Applications/jEdit.app/Contents/Resources/Java/jedit.jar:/System/Library/Java -Xmx192M -Dapple.awt.textantialiasing=true -Dapple.laf.useScreenMenuBar=true -Dapple.awt.antialiasing=true org.gjt.sp.jedit.jEdit -background

The -Xmx192M parameter determines the Java heap size. You can set it to any value that your architecture (RAM and JVM) allows. In case of Mac OS X Leopard (10.5.x) the JVM runs in 32 bit mode and lets you set a maximum heap size somewhere between 1.5GB and 2GB (even if you've several times that much RAM in you Mac). I've not yet met Snow Leopard face-to-face, but I could imagine that Apple already deploys a 64 bit JVM on that platform ... since they made the 64-bit readiness one of the major points in their Snow Leopard marketing campaign. Smile

One more thing: if you start jEdit like I told you to do, it'll launch an "out of application" instance. It'll behave a bit differently as a normal application used to. Eg. if you start jEdit as an app., it'll launch only a single running instance, regardless of how many times you try to start it. But starting it from the commandline will launch as many instances as many times you executed the command in Terminal.