Sobes.tech
Junior — Middle

¿Qué argumentos de línea de comandos están disponibles para configurar la JVM al ejecutar una aplicación Java?

sobes.tech AI

Respuesta de la IA

El JVM al iniciar una aplicación Java se puede configurar mediante varios argumentos de línea de comandos que afectan el comportamiento de la máquina virtual. Las categorías principales de argumentos:

  • Configuración de memoria:

    • -Xms<size> — tamaño inicial del montón (heap), por ejemplo, -Xms512m
    • -Xmx<size> — tamaño máximo del montón, por ejemplo, -Xmx1024m
    • -Xss<size> — tamaño de la pila para cada hilo
  • Configuración del recolector de basura:

    • -XX:+UseG1GC — habilitar recolector G1
    • -XX:+UseConcMarkSweepGC — habilitar CMS
    • -XX:+UseParallelGC — habilitar recolector paralelo
  • Depuración y monitoreo:

    • -Xdebug — habilitar modo de depuración
    • -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 — configuración de depuración remota
    • -XX:+PrintGCDetails — mostrar información detallada sobre la recolección de basura
  • Configuración de rendimiento:

    • -XX:MaxPermSize=<size> (para versiones antiguas de JVM) — tamaño de la generación permanente
    • -XX:+UseStringDeduplication — deduplicación de cadenas (para G1)
  • Generales:

    • -D<nombre>=<valor> — establecer propiedades del sistema
    • -verbose:gc — salida detallada sobre la recolección de basura

Ejemplo de inicio con configuración de memoria y habilitación de G1:

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