JDK 9 의 특성 에 대한 JVM 의 xlog

5575 단어 JDKxlog
간단 한 소개
JVM 은 자바 프로그램 이 실행 되 는 기초 입 니 다.JVM 의 각종 사건,예 를 들 어 GC,class loading,JPMS,heap,thread 등 은 모두 로그 로 기록 할 수 있 습 니 다.이 로 그 를 통 해 우 리 는 JVM 의 사건 을 감시 하고 자바 응용 프로그램 을 순서대로 조정 할 수 있 습 니 다.
JDK 9 에 도 입 된 Xlog 로그 서 비 스 는 이 를 위해 만 들 어 졌 습 니 다.
xlog 를 통 해 JDK 는 JVM 의 각종 사건 을 통일 시 켜 통 일 된 형식 으로 대외 수출 한다.tag 매개 변 수 를 통 해 분자 시스템 을 구분 하고 log level 을 통 해 사건 의 긴급 성 을 구분 하 며 logging output 를 통 해 출력 주 소 를 설정 합 니 다.
xlog 사용
먼저 가장 간단 한 xlog 의 사용 예 를 보십시오.
java -Xlog -version
출력 결과:
[0.016s][info][os] Use of CLOCK_MONOTONIC is supported
[0.016s][info][os] Use of pthread_condattr_setclock is not supported
[0.016s][info][os] Relative timed-wait using pthread_cond_timedwait is associated with the default clock
[0.017s][info][os] SafePoint Polling address, bad (protected) page:0x0000000108901000, good (unprotected) page:0x0000000108902000
[0.022s][info][biasedlocking] Aligned thread 0x00007f983e008200 to 0x00007f983e008800
[0.023s][info][os,thread    ] Thread attached (tid: 10499, pthread id: 123145571979264).
일 지 는 매우 길 어서 여기 가 전부 열거 되 지 는 않 는 다.출력 로그 에서 자바-verson 명령 에서 JVM 이 많은 작업 을 수행 하 는 것 을 볼 수 있 습 니 다.
로그 에서 모든 작업 에 걸 리 는 시간,로그 단계,작업 에 속 하 는 분 류 를 보 여 줍 니 다.
이 로 그 를 통 해 우 리 는 JVM 의 운행 에 대해 더욱 깊이 이해 할 수 있다.
자바-Xlog:help 명령 을 사용 하여 xlog 의 기본 형식 을 보 여 줍 니 다.
-Xlog Usage: -Xlog[:[selections][:[output][:[decorators][:output-options]]]]
where 'selections' are combinations of tags and levels of the form tag1[+tag2...][*][=level][,...]
NOTE: Unless wildcard (*) is specified, only log messages tagged with exactly the tags specified will be matched.
selections
selections 는 어떤 정 보 를 출력 해 야 하 는 지 를 나타 낸다.tag=level 로 표 시 됩 니 다.
tag 는 JVM 의 이벤트 나 서브 시스템 을 표시 합 니 다.
Available log tags:
 add, age, alloc, annotation, aot, arguments, attach, barrier, biasedlocking, blocks, bot, breakpoint, bytecode, cds, census, class, classhisto, cleanup, codecache, compaction, compilation, constantpool, constraints, container, coops, cpu, cset, data, datacreation, dcmd, decoder, defaultmethods, director, dump, dynamic, ergo, event, exceptions, exit, fingerprint, free, freelist, gc, handshake, hashtables, heap, humongous, ihop, iklass, init, inlining, install, interpreter, itables, jfr, jit, jni, jvmti, liveness, load, loader, logging, malloc, mark, marking, membername, memops, metadata, metaspace, methodcomparator, mirror, mmu, module, monitorinflation, monitormismatch, nestmates, nmethod, normalize, numa, objecttagging, obsolete, oldobject, oom, oopmap, oops, oopstorage, os, pagesize, parser, patch, path, perf, periodic, phases, plab, preorder, preview, promotion, protectiondomain, ptrqueue, purge, record, redefine, ref, refine, region, reloc, remset, resolve, safepoint, sampling, scavenge, setting, smr, stackmap, stacktrace, stackwalk, start, startuptime, state, stats, streaming, stringdedup, stringtable, subclass, survivor, sweep, symboltable, system, table, task, thread, time, timer, tlab, tracking, unload, unshareable, update, verification, verify, vmmutex, vmoperation, vmthread, vtables, vtablestubs, workgang
 Specifying 'all' instead of a tag combination matches all tag combinations
levels 는 로그 의 단 계 를 표시 합 니 다:
Available log levels: off, trace, debug, info, warning, error
다음 예 를 들 어:
java -Xlog:os,class=info -version
출력 결과:
[0.002s][info][os] Use of CLOCK_MONOTONIC is supported
[0.002s][info][os] Use of pthread_condattr_setclock is not supported
[0.002s][info][os] Relative timed-wait using pthread_cond_timedwait is associated with the default clock
[0.003s][info][os] SafePoint Polling address, bad (protected) page:0x0000000109543000, good (unprotected) page:0x0000000109544000
[0.006s][info][os] attempting shared library load of /Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home/lib/libjava.dylib
[0.007s][info][os] shared library load of /Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home/lib/libjava.dylib was successful
[0.007s][info][os] attempting shared library load of /Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home/lib/libzip.dylib
[0.010s][info][os] shared library load of /Library/Java/JavaVirtualMachines/jdk-14.0.1.jdk/Contents/Home/lib/libzip.dylib was successful
output
output 는 로 그 를 어디 에 출력 하 는 지 표시 합 니 다.
output 옵션:
stdout/stderr file=
stdout 은 표준 출력 을 표시 하고 stderr 는 표준 오 류 를 표시 합 니 다.file 은 파일 에 출력 을 표시 합 니 다.
예 를 들 어:
java -Xlog:all=debug:file=debug.log -version
decorators
decorators 는 로그 에 어떤 내용 을 출력 하 는 지 표시 합 니 다.
time (t), utctime (utc), uptime (u), timemillis (tm), uptimemillis (um), timenanos (tn), uptimenanos (un), hostname (hn), pid (p), tid (ti), level (l), tags (tg)
 Decorators can also be specified as 'none' for no decoration
이 예 를 보 세 요.
 java -Xlog:gc*=debug:stdout:time,uptimemillis,tid -version
출력 결과:
[2020-05-05T16:12:06.871-0800][32ms][9475] Heap region size: 1M
[2020-05-05T16:12:06.871-0800][32ms][9475] Minimum heap 8388608  Initial heap 134217728  Maximum heap 2147483648
[2020-05-05T16:12:06.872-0800][33ms][9475] Heap address: 0x0000000780000000, size: 2048 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
[2020-05-05T16:12:06.872-0800][33ms][9475] ConcGCThreads: 1 offset 8
[2020-05-05T16:12:06.872-0800][33ms][9475] ParallelGCThreads: 4
이상 은 JDK 9 의 특성 에 대한 JVM 의 xlog 에 대한 상세 한 내용 입 니 다.JDK 9 의 특성 에 관 한 JVM 의 xlog 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 하 시기 바 랍 니 다!

좋은 웹페이지 즐겨찾기