2012-03-09 3 views
0

J'ai écrit une petite application Java et j'ai aussi écrit un petit script Linux pour exécuter ce programme Java sous Linux.Linux: Impossible de démarrer: pas assez de mémoire

Mais chaque fois que je suis en train d'exécuter ce script linux, je reçois cette erreur

peut ne pas démarrer: pas assez de mémoire

Quelqu'un pourrait s'il vous plaît aidez-moi dans la façon de résoudre ce ??

Ceci est mon script

echo "Start time: " `date` 

SERVER_HOME=$HOME/ 

export CLASSPATH=.: 

export CLASSPATH=$CLASSPATH$SERVER_HOME/home/kiran/apiToplist/lib/*: 

echo $CLASSPATH 


java -cp $CLASSPATH -Xmx2G com.tata.samples.QuoteData 
echo "End time: " `date` 
+2

J'aime votre notion de "petit" ... –

Répondre

5

Avez-vous vraiment besoin de 2 Go de mémoire pour une application Java petite? La valeur -Xmx2G indique au jmv de réserver 2 Go de mémoire pour votre application. Si ce n'est pas disponible, cela ne fonctionnera pas.

Si vous n'avez pas besoin de 2 Go, envisagez de supprimer la valeur ou de l'abaisser.

+1

+1: Je ne définirais pas la taille maximale du tas à moins que vous ne le sachiez. –

1

Une allocation de tas 2G est très grande, et sur certains 32bit JVMs sa plus grande que ce qui est permis. Essayez de réduire l'allocation de tas à quelque chose de plus petit (en utilisant -Xmx) ou utilisez une JVM 64 bits (qui peut avoir des tas beaucoup plus grands).

+0

Quelles JVM ont cette limite? –

0

Si ce n'est pas un problème de ressources, essayez de réduire la valeur de l'indicateur Xmx. Jetez un oeil here.

1

Pour les systèmes Red Hat, vérifiez si vous utilisez libgjc GNU:

java -version 

java version "1.5.0" 
gij (GNU libgcj) version 4.4.7 20120313 (Red Hat 4.4.7-3) 

Installation OpenJDK résolu le problème pour moi:

yum install java-1.7.0-openjdk-devel 

En savoir plus sur Installing OpenJDK on Red Hat Enterprise Linux

Confirmez que java a été mis à jour:

java -version 

java version "1.7.0_45" 
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15) 
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode) 

Démarrez votre application Java.

Questions connexes