openSource
openSource

Reputation: 191

What is the significance of '-client' for JAVA_OPTS

I am not an expert on JAVA_OPTS, but I am getting an error in my grails app related to Permgen space. Now I receive a recommendation from grails blog to set JAVA_OPTS to this value:

JAVA_OPTS="-client -Xmx256M $JAVA_OPTS"

I do understand the other values except '-client'. What does it really mean? I can't find the significance of it in books.

Upvotes: 2

Views: 540

Answers (2)

erickzetta
erickzetta

Reputation: 691

Usually, there is -server and -client, -client starts faster than -server.

Nowadays, in some versions, like AMD64 version, it does nothing, there is only server version.

Upvotes: 1

Adrian
Adrian

Reputation: 46532

The -client and -server options are intended to optimize performance for client and server applications; the default varies by platform, where typically client-oriented platforms (Windows, MacOS) get the client VM by default, and typically server-oriented platforms (Linux, Windows Server) get the server VM by default. More information is available here: http://download.oracle.com/javase/6/docs/technotes/guides/vm/index.html

Basically, the client VM is optimized to start up quickly and use less memory, while the server VM is designed for maximum performance after start-up.

Upvotes: 2

Related Questions