Эта статья в основном изучает миграцию параметров журнала Java9 GC.
Регистрация, которая объединяет JVM и GC
Java9 представил унифицированную систему журнала, а также включал вывод и конфигурацию журнала, связанный с GC.
Связанный JEP (предложение о улучшении JDK)
XLOG SYNTAX
-Xlog [: option] опция: = [<wht>] [: [<supter>] [: [<decorators>] [: <output-options>]]]] 'help' 'disable' what: = <selector> [, ...] selector: = <tag-set> [*] [= <devel>] tag-steet: = <Теги> [+... 'tag: = name name name name name steum: = warace warace: = warace warace. 'stdout' [file =] <FileName> декораторы: = <Cergator> [, ...] 'none' Decorator: = Time Uptime timemillis uptimeMillis timenanos uptimenanos pid tag tags optor-option
Что
В основном настройте теги и уровень
ярлык
Где все представляют все теги, другие следующие:
Добавить, возраст, Alloc, Annotation, AOT, аргументы, прикрепление, барьер, смещение, блоки, бот, точка останова, байт -код, перепись, класс, класс, очистка, уплотнение, компаратор, ограничения, постоянный топ Hashtables, Heap, Humongous, Ihop, Iklass, Init, Itables, JFR, JNI, JVMTI, Loven, Loader, Logging, Mark, маркировка, метаданные, метас, метод, MU, модули, мониторин Путь, фазы, пЛАБ, предварительный заказ, продвижение, защита, чистка, переопределение, ссылка, уточнение, область, Remset, Resolve, SafePoint, Scange, Scru B, настройка, StackTrace, Stackwalk, Start, Startuptime, State, Statsdationup, StringTable, Subclass, Survivor, Supper, System, The Trade, Time, Timer, Timer Vmoperation, Vtables, Workgang
уровень
В основном разделенные на выключение, трассировку, отладка, информация, предупреждение, ошибка
выход
- Stdout (`отправляет вывод в Stdout`)- Stderr (` отправляет вывод в Stderr`)- File = Filename (`отправляет вывод в текстовый файл (ы)`)
Есть три типа, как указано выше. Если вы указали файл, вы можете использовать переменную %P для представления текущего PID JVM и использовать %T для представления марки временного времени начала JVM. например
-Xlog: GC: DemoApp-gc-%p-%t.log
Имя выходного файла следующим образом:
DemoApp-GC-1678-2018-03-01_21-44-18.log
декораторы
Если не указано, по умолчанию время безотказной, уровень и теги. например
[3,080S] [Информация] [GC, CPU] GC (5) Пользователь = 0,03S SYS = 0,00S Real = 0,01S
Пример
-Xlog: gc = trace: file = gctrace.txt: uptimemillis, pid: filecount = 5, filesize = 1024
Тег is gc, левл - это трассировка, повернуть файлы 5, каждый файл составляет 1 м, имя файла - gctrace.txt, Dertotators - это UptimeMillis и Pid
Выходной экземпляр
[1110ms] [1867] GC (2) Замечание паузы 17m-> 17m (256m) 2,024 мс [1110ms] [1867] GC (2) Дополните данные в живых 0, 7,470 мс [2951 мс] [1867] GC (3) Пауза Начальная отметка (порог GC Metadata) 149M-> 30 м (256 м) 27,175 мс [2951 мс] [1867] GC (4) Парал-цикл [2972ms] [1867] GC (4) Пауза 32M-> 32M (256M) 5,132 мс [2974 мс] [1867] GC (4) Дополнительно завершить данные о живых 0,
Миграция связанных параметров старого GC
| Флаг сбора мусора устаревшего мусора (GC) | Конфигурация XLOG | Комментарий |
|---|---|---|
| G1PrinTheapRegions | -Xlog: GC+область = трассировка | Непригодный |
| GCLOGFILESIZE | Нет конфигурации | Вращение журнала обрабатывается фреймворком. |
| Numberofgclogfiles | Непригодный | Вращение журнала обрабатывается фреймворком. |
| PrintAdaptivesizepolicy | -Xlog: ergo*= level | Используйте уровень отладки для большей части информации или уровень трассировки для всего того, что было зарегистрировано для PrintAdaptivesizePolicy. |
| Printgc | -Xlog: GC | Непригодный |
| Printgcapplication concurrenttime | -Xlog: SafePoint | Обратите внимание, что printgcapplication concurrenttime и printgcapplicationstoppedtime регистрируются на одном и том же теге и не разделены в новом журнале. |
| Printgcapplicationstoppedtime | -Xlog: SafePoint | Обратите внимание, что printgcapplication concurrenttime и printgcapplicationstoppedtime регистрируются на одном и том же теге и не разделены в новом журнале. |
| Printgccause | Непригодный | Причина GC теперь всегда регистрируется. |
| Printgcdatestamps | Непригодный | Глопов даты зарегистрированы фреймворком. |
| Printgcdetails | -Xlog: GC* | Непригодный |
| Printgcid | Непригодный | GC ID теперь всегда регистрируется. |
| Printgctasktimestamps | -Xlog: задание*= отладка | Непригодный |
| Printgctimestamps | Непригодный | Трэнд -марки регистрируются за рамками. |
| Printheapatgc | -Xlog: gc+heap = трассировка | Непригодный |
| Printreferenggc | -Xlog: ref*= отладка | Обратите внимание, что в старом ведении журнала Printreferenggc имел эффект только в том случае, если PrintGcdetails также был включен. |
| PrintsstringDuplicationStatistics | -Xlog: stringdedup*= отладка | Непригодный |
| PrintinguringDistribution | -Xlog: возраст*= уровень | Используйте уровень отладки для наиболее релевантной информации или уровень трассировки для всего того, что было зарегистрировано для печати. |
| USEGCLOGFILEROTATION | Непригодный | Что было зарегистрировано для печати распределения. |
Миграция параметров времени выполнения устаревшего
| Наследие флаг времени выполнения | Конфигурация XLOG | Комментарий |
|---|---|---|
| TraceExceptions | -Xlog: Exceptions = Info | Непригодный |
| Traceclassloading | -Xlog: класс+нагрузка = уровень | Используйте level = info для регулярной информации, или level = отладка для получения дополнительной информации. В едином синтаксисе ведения журнала -вербоза: класс равен -xlog: class+load = info, class+unload = info. |
| TraceClassLoadingPreorder | -Xlog: класс+предварительный заказ = отладка | Непригодный |
| TraceClassUnloading | -Xlog: Class+Unload = Level | Используйте level = info для регулярной информации, или Level = трассировка для получения дополнительной информации. В едином синтаксисе ведения журнала -вербоза: класс равен -xlog: class+load = info, class+unload = info. |
| Словесное вевер | -Xlog: Verification = Info | Непригодный |
| TraceClassPaths | -Xlog: класс+path = info | Непригодный |
| TraceClassResolution | -Xlog: Class+Resolve = Debug | Непригодный |
| Трасексосанициализация | -Xlog: класс+init = info | Непригодный |
| Traceloaderconstraints | -Xlog: Class+Loader+ограничения = info | Непригодный |
| TraceClassLoaderData | -Xlog: класс+загрузчик+data = level | Используйте уровень = отладка для регулярной информации или уровня = трассировка для получения дополнительной информации. |
| TracesafepointCleanuptime | -Xlog: SafePoint+очистка = информация | Непригодный |
| Tracesafepoint | -Xlog: SafePoint = Debug | Непригодный |
| Tracemonitorinflation | -Xlog: monitorinflation = отлад | Непригодный |
| Tracebiasedlocking | -Xlog: BiasedLocking = level | Используйте level = info для регулярной информации, или Level = трассировка для получения дополнительной информации. |
| TraceredEfineClasses | -Xlog: переопределить+класс*= level | level = info, = отладка, и = Trace обеспечивает увеличение количества информации. |
Java9 также объединяет выбор и вывод журнала GC в XLOG и может быть перенесен в соответствии с таблицей миграции, данной чиновником.