모든 JVM 플래그 인쇄


97

흥미로운 JVM 플래그를 찾았습니다.

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

수백 가지의 다양한 옵션을 인쇄합니다. 또한 JVM 동작을 더 잘 진단하는 데 도움이되는 기본값을 인쇄합니다. 또 다른 흥미로운 플래그는 다음과 같습니다.

-XX:+UnlockExperimentalVMOptions

누구든지 그들 각각을 설명하는 문서를 알고 있습니까?



명령 줄이 설명서에 나열되지 않은 이유는 이름에서 알 수 있듯이 VM을 진단하기 위해 있기 때문입니다. 핫스팟을 디버깅하는 사람들이 아마 알고 있다고 가정 할 수 있습니다.)
— Voo

1
이 링크 는 이러한 옵션을 짧고 잘 설명합니다.
— sactiw

답변:


35

-XX:+JVMCIPrintPropertiesGraal JIT 옵션 도 놓치지 마십시오 .

소스로 들어가기 전에 다음 추출을 훑어보고 적절한 옵션을 더 빨리 찾을 수 있습니다.

https://chriswhocodes.com/(OracleJDK 6/7/8/9/10/11/12, OpenJDK 8/9/10/11, Graal CE / EE, 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


15

내가 찾은 최고의 문서 는 소스 입니다.

내가 사용했던 이 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!


1
소스는 정의에 따라 프로그램의 완벽한 문서입니다. 또한 codinghorror.com/blog/2012/04/…
— Pyrolistical

@Pyrolistical 링크 주셔서 감사합니다. 좋은 읽기와 나는 Jeff Atwood가 최근에 대해 블로그에 올린 것을 몰랐다 read the source.
— Dan Cruz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.