Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3638
  • Last Modified:

Make -Xmx a default java option?

Hello,

I am running java on a virtual Linux server which limits the memory usage to just under 1GB. I've just installed the JDK 1.5, and when I run "java -version" I get:

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

I've done some troubleshooting and have determined that Java is using the "-server" option as the default ("java -help" says so). I'm guessing that with the server version, the default memory usage is 1GB, because I can make Java work either by using "-client" or by specifying a smaller amount of memory (e.g. -Xmx512M). I can also reproduce the error above by using "-Xmx1024M"

Now for my question: is there an environment variable or property file that Java checks for default options? I'd like make the "java" command work by default by making java use "-Xmx512" by default.

Thanks in advance!
0
yoren
Asked:
yoren
  • 5
  • 4
  • 3
  • +1
2 Solutions
 
CEHJCommented:
You could use an alias

alias j='java -Xmx512M'
0
 
yorenAuthor Commented:
The problem with an alias is that it doesn't work if you specify the full path, as some programs will do. Is there any way to configure java itself to use some options?
0
 
CEHJCommented:
You could replace the java executable with a shell script pointing to the 'real' executable
0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
objectsCommented:
Probelm with setting defaults is that if anything actually wants to set those params they are screwed. I think you would be better off having each applications startup script explicitly specify the startup option that they need.
0
 
yorenAuthor Commented:
Ideally, I'd like anything specified on the command line to override my "default" -Xmx64M. The script idea seems workable but is definitely a hack. Doesn't Java provide a default mechanism of its own?
0
 
objectsCommented:
> I am running java on a virtual Linux server which limits the memory usage to just under 1GB.

it shouldn't actuall y be doing that.
you may be better off rewsolving the actual problem, rather then implementing a hack
0
 
objectsCommented:
r they xen machines?
0
 
yorenAuthor Commented:
I take it back; the script idea won't work. It seems that javac and javadoc suffer from the same problem, but they don't have a "-Xmx" option I can use to fix them.
0
 
yorenAuthor Commented:
It's a VPS account with StartLogic, running Fedora Core 4. I'd be happy to run any commands you think could help identify the problem and report the result.
0
 
objectsCommented:
> but they don't have a "-Xmx" option I can use to fix them.

you can use the -J option

-J-Xmx64M  

I'd ask your ISP support about it, they have more than likely come across this problem before and may have a solution.
0
 
Mayank SAssociate Director - Product EngineeringCommented:
Out of interest, what is your JAVA_HOME environment variable set to? Does it point to the root directory of your JDK installation? And do you have %JAVA_HOME%\bin at the start of your PATH environment variable?
0
 
yorenAuthor Commented:
My JAVA_HOME variable is indeed set to the root directory of my JDK installation, and the path is set right.

Some more web searching reveals implies this is a common problem with virtual servers. I couldn't find a solution but found that it's because in server mode, Java picks 1/4 of the total memory.

CEHJ's script idea is the best solution I've found, along with the -J option for javac and all the other binaries.
0
 
CEHJCommented:
:-)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

  • 5
  • 4
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now