Sobes.tech
Junior — Middle

Ի՞նչ հրամանի տողային արգումենտներ կան Java ծրագրի գործարկման ժամանակ JVM- ին կարգավորելու համար։

sobes.tech AI

Պատասխան AI-ից

Երբ սկսում եք Java հավելվածը, JVM-ը կարող է կազմաձևվել տարբեր հրամանի տողային արգումենտների միջոցով, որոնք ազդում են վիրտուալ մեքենայի վարքագծի վրա: Հիմնական արգումենտների կատեգորիաները՝

  • Հիշողության կազմաձևում:

    • -Xms<size> — սկզբնական heap չափը, օրինակ, -Xms512m
    • -Xmx<size> — առավելագույն heap չափը, օրինակ, -Xmx1024m
    • -Xss<size> — յուրաքանչյուր թելի համար stack չափը
  • Գործող հավաքող կազմաձևում:

    • -XX:+UseG1GC — ակտիվացնել G1
    • -XX:+UseConcMarkSweepGC — ակտիվացնել CMS
    • -XX:+UseParallelGC — ակտիվացնել պառլելային հավաքող
  • Համակարգային և մոնիտորինգ:

    • -Xdebug — ակտիվացնել դեբագի ռեժիմ
    • -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 — հեռավոր դեբագի կազմաձևում
    • -XX:+PrintGCDetails — մանրամասն տեղեկություններ հավաքողի մասին
  • Աշխատանքի արդյունավետության օպտիմալացում:

    • -XX:MaxPermSize=<size> (հին JVM տարբերակների համար) — մշտական սերնդի չափը
    • -XX:+UseStringDeduplication — տողերի դեդուպլիկացիա (G1-ի համար)
  • Ընդհանուր:

    • -D<անուն>=<արժեք> — համակարգային հատկությունների սահմանում
    • -verbose:gc — մանրամասն ելք հավաքողի մասին

Նմուշ սկսում է հիշողության կազմաձևմամբ և G1 ակտիվացմամբ.

java -Xms512m -Xmx2g -XX:+UseG1GC -Dconfig.file=app.properties -jar myapp.jar