programing

모든 JVM 플래그 인쇄

itsource 2022. 11. 3. 22:13
반응형

모든 JVM 플래그 인쇄

대상 JVM 플래그를 찾았습니다.

java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version

수백 가지의 다양한 옵션이 출력됩니다. 전에 들어본 적이 없습니다.또한 기본값을 인쇄하여 JVM 동작을 더 잘 진단할 수 있습니다.또 다른 흥미로운 플래그는 다음과 같습니다.

-XX:+UnlockExperimentalVMOptions

그들 각각에 대해 설명하는 문서를 아는 사람이 있습니까?

또한 놓치지 마세요-XX:+JVMCIPrintPropertiesGraal JIT 옵션용입니다.

소스를 조사하기 전에 다음 발췌문을 훑어보고 적절한 옵션을 빠르게 찾을 수 있습니다.

https://chriswhocodes.com/ (OracleJDK 6/7/8/9/10/11/12, OpenJDK 8/9/10/11, Graal CE/E, OpenJ9, Zing)

http://jvm-options.tech.xebia.fr/

http://www.pingtimeout.fr/2012/05/jvm-options-complete-reference.html

http://stas-blogspot.blogspot.com/2011/07/most-complete-list-of-xx-options-for.html

내가 찾은 최고의 문서는 소스야.

디버깅 빌드를 작성하기 위해 이 SO Q&A를 사용했습니다.이 디버깅 빌드를 사용하면java -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -XX:+PrintFlagsWithComments -version.

소스가 있는 디렉토리에서 다음을 실행할 수 있습니다(Linux, Cygwin 등을 사용하고 있다고 가정).

grep -FR 'UnlockExperimentalVMOptions' hotspot/

또는 다음 항목(이 항목만 참조)*.cpp그리고.*.hpp파일):

find hotspot/ -name '*.[ch]pp' -exec grep -F 'UnlockExperimentalVMOptions' {} +

그런 다음 소스 파일을 살펴봅니다.모든 옵션을 설명하는 문서가 없는 가장 큰 이유는 이러한 옵션 중 일부는 JVM을 제대로 이해하는 사용자에게 맡겨두는 것이 좋기 때문일 수 있으며, 이를 위한 가장 좋은 방법은 소스 코드를 숙지하는 것입니다.

그래서 위대한 스승의 말을 빌리자면use the source!

언급URL : https://stackoverflow.com/questions/10486375/print-all-jvm-flags

반응형