Vra

Hoe stel ek Java se min en max hoop grootte deur omgewing veranderlikes?

Ek weet dat die hoop groottes kan ingestel word wanneer die launch van Java, maar ek sou graag wou hê dit aangepas deur omgewing veranderlikes op my bediener.

Was dit nuttig?

Oplossing

Jy kan dit nie doen met behulp van omgewing veranderlikes direk. Wat jy nodig het om die stel van "nie-standaard" opsies wat geslaag om die java opdrag gebruik. Begin: java -X vir meer inligting. Die opsies wat jy soek is -Xmx en -Xms (dit is "aanvanklike" hoop grootte, so seker wat jy soek vir.)

Sommige produkte soos Ant of Tomcat kan kom met 'n bondel script wat lyk vir die JAVA_OPTS omgewing veranderlike nie, maar dit is nie deel van die Java Runtime. As jy met behulp van een van die produkte, kan jy in staat wees om die veranderlike te stel soos:

set JAVA_OPTS="-Xms128m -Xmx256m"  

Jy kan ook hierdie benadering neem met jou eie command line soos:

set JAVA_OPTS="-Xms128m -Xmx256m"  
java ${JAVA_OPTS} MyClass

Ander wenke

As jy wil enige java proses, nie net mier of Tomcat, om af te haal opsies soos -Xmx gebruik die veranderlike _JAVA_OPTIONS omgewing.

In bash: export _JAVA_OPTIONS="-Xmx1g"

Eintlik is daar 'n manier om globale standaard vir Sun se JVM stel via omgewing veranderlikes.

Sien Hoe om 'n Java stelsel eiendom te stel sodat dit effektief is wanneer ek begin JVM sonder dit by die command line argumente .

Jy kan dit nie doen met behulp van omgewing veranderlikes. Dit is gedoen deur middel van 'n nie standaard "opsies. Begin: java -X vir meer inligting. Die opsies wat jy soek is -Xmx en -Xms (dit is "aanvanklike" hoop grootte, so seker wat jy soek vir.)

Ek dink jou enigste opsie is om java draai in 'n script wat die omgewing veranderlikes vervang in die command line

'n Paar notas:

  1. Apache mier nie enigiets oor JAVA_OPTS weet, terwyl Tomcat se opstart skrifte doen. Vir Apache mier, gebruik ANT_OPTS om die omgewing vir die JVM wat loop / mier / beïnvloed, maar nie vir die dinge wat mier kan begin.

  2. Die maksimum hoop grootte wat jy kan stel is heeltemal afhanklik van die omgewing, want die meeste 32-bit stelsels, die maksimum bedrag van hoop ruimte wat jy kan vra, ongeag van beskikbare geheue, is in die 2GiB reeks. Die grootste hoop op 'n 64-bit stelsel is "baie groot". Ook, is jy feitlik beperk deur fisiese geheue sowel, aangesien die hoop word bestuur deur die JVM en jy wil nie 'n baie uitruiling aangaan om die skyf.

  3. Vir bediener omgewings, tipies wil hê jy moet -Xms en -Xmx stel om dieselfde waarde: dit sal die grootte van die hoop op 'n sekere grootte te los en die vullis versamelaar het minder werk om te doen, want die hoop sal nooit weer hoef te wees re-grootte.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top