| Име на параметъра | значение | Стандарти/Бележки |
| -XMS | Първоначален размер на купчината | 1/64 (<1GB) физическа памет По подразбиране (параметърът MinHeapFreeRatio може да се коригира) Когато свободната памет на купчината е под 40%, JVM увеличава купчината до максималния лимит -Xmx |
| -XMX | Максимален размер на купчината | 1/4 от физическата памет (<1GB) по подразбиране (параметърът MaxHeapFreeRatio може да се коригира) Когато свободната памет на купчината е над 70%, JVM намалява купчината до минималния лимит -xms |
| -XMN | Размер на поколението (JDK 1.4 или повече) | След увеличаване на новото поколение, размерът на старото поколение ще бъде намален. Тази стойност има значително влияние върху производителността на системата. Sun официално препоръчва конфигурацията на 3/8 от целия стек |
| -Xss | Размерът на стека на всяка нишка | След JDK5.0 размерът на всеки стек нишка беше 1M, а преди това размерът на всеки стек нишка беше 256K, което може да бъде в K, M или G единици |
| -XX:НишкаСтекРазмер | Там | 0 означава, че се използва стойността по подразбиране и тя не може да бъде обединена |
| -XX:PermSize | Задайте началната стойност на перманентната алгебра | 1/64 от физическата памет |
| -XX:MaxPermSize | Задайте максималното постоянно генериране | 1/4 от физическата памет |
| -XX:НовоСъотношение | Съотношение между кайнозой (включително Едем и две зони на оцелели) към старост (без постоянна генерация) | -XX:NewRatio=4 означава, че съотношението между кайнозоя и стария век е 1:4, а кайнозойът обхваща 1/5 от целия стек, Xms=Xmx и Xmn е зададен, този параметър не е необходимо да се задава. |
| -XX:Съотношение на оцелели | Съотношението между размера на района Едем и района на Оцелелите | Ако е зададено на 8, съотношението между два региона на оцелелите и един регион на Едем е 2:8, а един регион представлява 1/10 от целия кайнозой |
| -XX:LargePageSizeInBytes | Размерът на паметната страница не трябва да се задава твърде голям, тъй като това ще повлияе на размера на Perm | =128 м |
| -XX:+UseFastAccessorMethods | Бърза оптимизация на оригиналния тип | / |
| -XX:+DisableExplicitGC | Затвори System.gc() | Този параметър изисква стриктно тестване |
| -XX:Максимален праг на постоянство | Максимална възраст на боклука | Ако е настроен на 0, обектът от новото поколение ще влезе директно в старата ера, без да преминава през зоната на Survivor. За по-стари приложения ефективността може да се подобри. Ако тази стойност бъде зададена на голяма, новогенерационният обект ще бъде копиран многократно в региона Survivor, което може да увеличи времето за оцеляване на обекта в новото поколение и да увеличи вероятността да бъде рециклиран в новото поколение, което важи само за серийния GC |
| -XX:+АгресивниOpts | Ускоряване на компилацията | / |
| -XX:+UseBiasedLocking | Подобрения в производителността на заключващите механизми | / |
| -Xnoclassgc | Деактивирайте рециклирането на отпадъци | / |
| -XX:SoftRefLRUPolicyMSPerMB | Времето за оцеляване на SoftReference на мегакупчина свободно пространство | 1s |
| -XX:PretenureSizeThreshold | Размерът на обекта се разпределя директно с възрастта | Друг случай, при който новото поколение използва Parallel Scavenge GC, е невалиден, а друг случай, в който е директно присвоен в старата епоха, е голям масивен обект без външни референтни обекти в масива. |
| -XX:TLABWasteTargetPercent | Процент на TLAB в района на Идем | 1% |
| -XX:+CollectGen0First | Дали YGC е на първо място, когато FullGC | false |
| -XX:+UseParallelGC | Пълният GC използва паралелен MSC | Вижте [GC параметри][1] |
| -XX:+UseParNewGC | Настройване на новото поколение да събира паралелно | Може да се използва заедно с CMS collection, JDK 5.0 или по-нова версия, а JVM ще го задава според конфигурацията на системата, така че няма нужда да се задава тази стойност отново |
| -XX:ParallelGCThreads | Броят на резбите за паралелния колектор | Тази стойност е най-добре конфигурирана равна на броя на процесорите и е подходяща и за CMS |
| -XX:+UseParallelOldGC | Старият метод за събиране на боклука е паралелно компактиране | Това е опцията за параметър, която се появява в JAVA 6 |
| -XX:MaxGCPauseMillis | Максимално време за събиране на отпадъци от ново поколение (максимално време на пауза) | Ако това време не бъде изпълнено, JVM автоматично ще преоразмери новото поколение, за да отговаря на тази стойност. |
| -XX:+ИзползвайАдаптивенРазмерПолитика | Автоматично изберете размера на новата генерационна зона и съответното съотношение на оцелелите | Когато тази опция е зададена, паралелният колектор автоматично избира размера на новата генерационна площ и съответната пропорция на зоната на оцелелите, за да постигне минималното съответно време или честота на събиране, определени от целевата система |
| -XX:GCTimeRatio | Задайте времето за събиране на боклука като процент от времето за изпълнение на програмата | Формулата е 1/(1+n) |
| -XX:+ScavengeBeforeFullGC | Пълен GC преди да се обадя на YGC | true |
| -XX:+UseConcMarkSweepGC | Използване на колекцията от CMS памет | След конфигуриране на това в теста, конфигурацията на -XX:NewRatio=4 е невалидна и причината е неизвестна, затова е най-добре да се използва -Xmn за задаване на размера на новото поколение в момента |
| -XX:+Агресивна купчина | Опитът е да се използва много физическа памет | Оптимизация на дългосрочното използване на голяма памет, може да се провери изчислителните ресурси (памет, брой процесори, поне 256MB памет) е необходима |
| -XX:CMSFullGCsBeforeCompaction | Колко пъти се случва компресиране на паметта? | Тъй като конкурентният колектор не компресира и организира паметното пространство, той ще произведе "фрагментация" след определен период на работа, което намалява ефективността на работа |
| -XX:+CMSParallelRemarkEnabled | Паузи в долния маркер | / |
| -XX+UseCMSCompactAtFullCollection | Компресия на старостта, когато беше FullGC | CMS не премества паметта, така че е много лесно да се създаде фрагментация, което води до недостатъчна памет, затова компресията на паметта ще бъде активирана в този момент. Добър навик е да се увеличава този параметър. Може да повлияе на производителността, но може да премахне отпадъците |
| -XX:+UseCMSIinitiatingOccupancyOnly | Започнете CMS колекцията с ръчна инициализация на дефиницията | HostSpot е забранено да задейства CMS GC самостоятелно |
| -XX:CMSIinitiating OccupancyFraction=70 | Събирането на CMS започва след като 70% от боклука се използва за рециклиране на отпадъци | Тази стойност трябва да бъде зададена така, че да отговаря на следната формула: CMSInitiatingOccupancyFraction |
| -XX:CMSIinitiating PermOccupancyFraction | Настрой използването на Perm Gen да се задейства, когато съотношението се достигне | 92 |
| -XX:+CMSIncrementalMode | Настроен на инкрементален режим | Използва се в случаи с един процесор |
| -XX:+CMSClassUnloadingEnabled | Постоянен CMS GC | / |
| -XX:+PrintGC | GC лог изход | Същото като -verbose:gc |
| -XX:+PrintGCDetails | Там | Повече подробности |
| -XX:+PrintGCTimeStamps | Изходен времеви печат на GC | Използвайте го с горния параметър PrintGC или напишете нещо като -XX:+PrintGC:PrintGCTimeStamps |
| -XX:+PrintGC:PrintGCTimeStamps | / | Може да се смесва с -XX:+PrintGC -XX:+PrintGCDetails |
| -XX:+PrintGCApplicationStoppedTime | Времето, в което програмата спира по време на събирането на боклук за печат. Може да се смеси с горното | Формат на изход: Общо време, за което нишките на приложението са били прекъснати: 0.0468229 секунди |
| -XX:+PrintGCApplicationConcurrentTime | Отпечатай непрекъснатото време за изпълнение на програмата преди всяко събиране на боклук | Може да се смеси с горния изходен вид: Време за нанасяне: 0.5291524 секунди |
| -XX:+PrintHeapAtGC | Отпечатайте подробна информация за стека преди и след GC | / |
| -Xloggc:filename | Логирайте съответната лог информация във файл за анализ | Работи с горните няколко |
| -XX:+PrintClassHistogram | След натискане на Ctrl+Break в конзолата, отпечатайте информацията за класа | / |
| -XX:+PrintClassHistogramBeforeFullGC | FullGC преди печат | / |
| -XX:+PrintTLAB | Вижте използването на TLAB пространството | / |
| XX:+PrintTenuringDistribution | Вижте прага за новия период на оцеляване след всеки малък GC | / |
| -EA | Включи assert assert | / |
| -Xprof | Диагностика на производителността | / |
| -Xrunhprof | Диагностика на производителността | / |
| -XX:+TraceClassLoading | Печата информация за процеса на зареждане на класове | Подобно на [Loaded java.util.AbstractList$Itr от /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/rt.jar] |
| -XX:+TraceClassUnloading | Информация за процеса на деинсталиране от клас печат | / |
| Xbootclasspath | Определя зареждането на класове, които не изискват проверки | Пропускането на необходимите предварителни проверки може да намали времето за зареждане, но не е безопасно |
| -XX:+PrintCompilation | Отпечатайте името на метода, което Hotspot компилира с помощта на JIT | / |
| -XX:+HeapDumpOnOutOfMemoryError | OM при генериране на heap dump | По подразбиране изходът е в основната папка, където се съхраняват класовите файлове |
| -XX:HeapDumpPath | Задайте изходния път на изходния OM dump файл | Използване с -XX:+HeapDumpOnOutOfMemoryError |
| Име на параметъра | описание | По подразбиране |
| -d32 | Използвайте 32-битов модел с данни (ако е наличен) | / |
| -d64 | Използвайте 64-битов модел на данни (ако е наличен) | / |
| -сървър | Изберете виртуалната машина на сървъра | По подразбиране виртуалната машина е сървърна, защото работиш на сървърна машина. |
| -cp < директория и ZIP/JAR клас за търсене > | / | / |
| -classpath < пътя за търсене на класове за директории и zip/jar файлове > | Използвайте : списък с отделни директории, JAR архиви и ZIP архиви за търсене на класови файлове | / |
| -D<名称>=<值> | Свойства на системата от множества | / |
| -Многословено: [клас или GC или JNI] | Активирайте подробен изход | / |
| -версия | Изведи версията на продукта и излез | / |
| -<值>версия: | / | Изоставени |
| -Showversion | Изведи версията на продукта и продължи | / |
| -jre-restrict-search или -no-jre-restrict-search | / | Изоставени |
| -? -Помощ | Изведи това съобщение за помощ | / |
| -X | Помощ при изход при нестандартни опции | / |
| -ea[:< име на пакета, име на клас>] | assert | / |
| -enableassertions[:< име на пакет, име на клас>] | Активирайте твърдения при зададената грануларност | / |
| -da[:< име на пакет, име на клас>] | / | / |
| -disableassertions[:< име на пакет, име на клас>] | Деактивирайте твърдения с определена грануларност | / |
| -esa или -enablesystemassertions | Активиране на утвърждения на системата | / |
| -DSA или -disablesystemassertions | Деактивиране на системни твърдения | / |
| -agentlib:<libname>[=<选项>] | Заредете нативната библиотека <libname>с агенти | Например, -agentlib:hprofВижте също -agentlib:jdwp=help и -agentlib:hprof=help |
| -agentpath:<pathname>[=<选项>] | Заредете локалната библиотека на агенти по пълното име на пътя | / |
| -javaagent:<jarpath>[=<选项>] | За да заредите агента на програмния език Java, вижте java.lang.instrument | / |
| -плясък:<imagepath> | Покажете splash екрана с зададеното изображение | / |