พิมพ์ธง JVM ทั้งหมด


98

พบ JVM Flag ที่น่าสนใจ:

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

มันพิมพ์ตัวเลือกต่างๆมากมายหลายร้อยแบบฉันไม่เคยได้ยินมาก่อน นอกจากนี้ยังพิมพ์ค่าเริ่มต้นซึ่งช่วยในการวินิจฉัยพฤติกรรมของ JVM ได้ดีขึ้น ธงที่น่าสนใจอีกประการหนึ่งคือ:

-XX:+UnlockExperimentalVMOptions

มีใครรู้เอกสารที่อธิบายแต่ละคนบ้างไหม



เหตุผลที่ commandline ไม่อยู่ในเอกสารประกอบก็เพราะตามชื่อที่ระบุไว้เพื่อวินิจฉัย VM เดาได้ว่าคนที่แก้จุดบกพร่อง hotspot น่าจะรู้จักพวกเขา;)
Voo

1
ลิงค์นี้อธิบายตัวเลือกเหล่านี้อย่างสั้นและค่อนข้างดี
sactiw

คำตอบ:


36

อย่าพลาด-XX:+JVMCIPrintPropertiesตัวเลือก Graal 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 นี้เพื่อสร้าง debug build 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 ขอบคุณสำหรับลิงค์; ดีอ่านและผมไม่ทราบว่าเมื่อเร็ว ๆ นี้เจฟฟ์แอด blogged read the sourceเกี่ยวกับ
Dan Cruz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.