모든 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.