2011-01-11 9 views
10



Quando eseguo Maven-molo-plugin, corro il prossimo comando:formato libero heap non aumenta in Maven

mvn -DMAVEN_OPTS="-Xmx1024m -Xms512m" -Djetty.port=8080 jetty:run 

ma quando cerco di uscita dimensione heap libero con

Long heapFreeSize = Runtime.getRuntime().freeMemory(); 

Emette sempre circa 30000000.
Suppongo che sia in byte, quindi circa 30 megabyte.
Perché la memoria heap libera non è aumentata?

+0

E 'dando un OutOfMemoryError? Hai provato con -XX: MaxPermSize = 1024m? freeMemory() mostra lo spazio per l'allocazione futura. E gli oggetti permamentali vanno nello spazio Perm. Udo. – ssedano

+0

Se provo -XX: MaxPermSize = 1024 non cambia nulla ... Non posso testarlo ora su OutOfMemoryError ... Vuoi dire che questo spazio (per l'allocazione futura) aumenterà a seconda delle esigenze dell'applicazione? – gennad

+0

maxMemory() mostra la quantità totale di memoria. Incolla maxMemoryoutput per favore – ssedano

risposta

16

MAVEN_OPTS è una variabile ambiente, che viene letto da Maven e usato come gli argomenti della riga di comando per biforcano processi Java. Gli argomenti della riga di comando controllano come viene avviato l'eseguibile Java, ad es. cose come le impostazioni di memoria.

-D viene utilizzato per l'impostazione delle proprietà del sistema Java, che è qualcosa di completamente diverso rispetto agli argomenti della riga di comando. Le proprietà del sistema Java possono essere letti a livello di codice, ad es. usando System.getProperties().

di Windows:

SET MAVEN_OPTS="-Xmx1024m -Xms512m" 
mvn -Djetty.port=8080 jetty:run 

Linux:

export MAVEN_OPTS="-Xmx1024m -Xms512m" 
mvn -Djetty.port=8080 jetty:run 
+0

Ho dovuto rileggere due volte per "farlo", prendilo, ma poi ho risolto tutti i miei problemi :-) Grazie. Salvato un bel po 'di tempo avrei perso a trafficare con roba. –

2

Penso che -DMAVEN_OPTS = "- Xmx1024m -Xms512m" non sia il modo corretto per specificare i parametri di memoria qui.

impostare una variabile env chiamato MAVEN_OPTS con contenuto "Xmx1024m -Xms512m"

+0

Intendi mvn jetty: run -Xmx1024m -Xms512m? Non funziona. mvn jetty: run -DXmx1024m -DXms512m funziona, ma la memoria è la stessa di con MAVEN_OPTS – gennad

+0

scusate per il mio errore solo in questo modo penso che sia possibile impostare una variabile env – lweller

Problemi correlati