Domanda

Ho uno strumento di elaborazione dati Scala che non riesce con un'eccezione java.lang.OutOfMemoryError . Lo strumento deve fare in modo che una coppia passi su un file di dati di grandi dimensioni (quello su cui sto lavorando è di oltre 700 MB), quindi sarebbe conveniente se l'intera cosa potesse essere archiviata in memoria.

Eseguo lo strumento dalla riga di comando o da uno script Bash usando " scala " corridore. Come posso aumentare le dimensioni dell'heap JVM per questo? Ho provato a passare -Xmx1024m , ma non riconosce questo argomento. Sto usando una build notturna di Scala 2.8.0 (r18678).

È stato utile?

Soluzione

La variabile d'ambiente JAVA_OPTS viene utilizzata per specificare le opzioni passate al comando java. Vedi la Manpage della Scala per i dettagli.

Altri suggerimenti

Puoi passare le opzioni alla JVM tramite -J. Per es.,

scala -J-Xmx2g ...

Basandomi sul suggerimento di Joe, ho esaminato il programma Scala, che è uno script Bash che chiama java con vari argomenti specifici di Scala. Consente di passare altri argomenti della riga di comando a Java tramite la variabile di ambiente JAVA_OPTS. Quindi puoi aumentare le dimensioni dell'heap in questo modo:

JAVA_OPTS="-Xmx2g" scala classname arguments...

Modifica JAVA_OPTS .

Come hack puoi modificare il file scala / bin / scala per modificare i parametri per il comando java . Non carino.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top