[Java] - zwiększanie heap
-
- Sędziwy Jeż
- Posty: 42
- Rejestracja: 14 gru 2010, 12:46
- Płeć: Mężczyzna
- Wersja Ubuntu: 10.10
- Środowisko graficzne: GNOME
- Architektura: x86
- Kontakt:
[Java] - zwiększanie heap
Witam ! Jak zwiększyć heap Javy w Ubuntu 10.10?? Standardowa wielkość 124 mb niestety nie jest wystarczająca ;/ Proszę o pomoc.
- mate_haru
- Sędziwy Jeż
- Posty: 47
- Rejestracja: 05 paź 2006, 12:42
- Płeć: Mężczyzna
- Wersja Ubuntu: 9.04
- Środowisko graficzne: Fluxbox
- Architektura: x86_64
- Kontakt:
Odp: [Java] - zwiększanie heap
Możesz tego dokonać przykładowo ustawiając wśród zmiennych środowiskowych w ~/.bashrc coś takiego:
gdzie:
-Xms - minimalna wielkość sterty,
-Xmx - wielkość maksymalna.
Odświeżenie zmiennych środowiskowych spowoduje, że te opcje zostaną każdorazowo podane do JVMa.
Skąd wzięły się te opcje? Odpowiedź znajdziesz wstukując:
Możesz zatem użyć tych parametrów przy każdym uruchomieniu programu. Przykładowo:
PS. Standardowa maksymalna wielkość sterty to 128MB
Kod: Zaznacz cały
JAVA_OPTS="-Xms128m -Xmx256m"
-Xms - minimalna wielkość sterty,
-Xmx - wielkość maksymalna.
Odświeżenie zmiennych środowiskowych spowoduje, że te opcje zostaną każdorazowo podane do JVMa.
Skąd wzięły się te opcje? Odpowiedź znajdziesz wstukując:
Kod: Zaznacz cały
mateharu@mateharu:~$ java -X
Kod: Zaznacz cały
java -Xms128m -Xmx256m Test
-
- Sędziwy Jeż
- Posty: 42
- Rejestracja: 14 gru 2010, 12:46
- Płeć: Mężczyzna
- Wersja Ubuntu: 10.10
- Środowisko graficzne: GNOME
- Architektura: x86
- Kontakt:
Odp: [Java] - zwiększanie heap
Po wpisaniu java -Xms128m wyświetla mi się :
root@daniu-AOD260:/home/daniu# java -Xms256m
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.
-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A : separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print product version and exit
-version:<value>
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument
-splash:<imagepath>
show splash screen with specified image
root@daniu-AOD260:/home/daniu#
EDIT: sorki ale ilość heap javy programu wynosi w moim przypadku 124 mb nie 128
root@daniu-AOD260:/home/daniu# java -Xms256m
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.
-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A : separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print product version and exit
-version:<value>
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument
-splash:<imagepath>
show splash screen with specified image
root@daniu-AOD260:/home/daniu#
EDIT: sorki ale ilość heap javy programu wynosi w moim przypadku 124 mb nie 128
-
- Wytworny Kaczor
- Posty: 352
- Rejestracja: 15 paź 2008, 18:30
- Płeć: Mężczyzna
- Wersja Ubuntu: 9.04
- Środowisko graficzne: KDE Plasma
Odp: [Java] - zwiększanie heap
Standardowo w Ubuntu programy Javy wywoływane są za pomocą skryptu i w samym skrypcie wystarczy uruchomić parametry. To niezłe rozwiązanie bo nie musisz za każdym razem wpisywać parametrów po wywołaniu programu.
a nazwa programu (klasy)? To działa tylko jednorazowo po wywołaniu z nazwą klasy.
Kod: Zaznacz cały
java -Xms256m
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości