¿Cómo cambio los parámetros de tiempo de ejecución de Java?

16

En Windows, podría cambiar la cantidad de RAM que Java podría usar escribiendo algo como -Xincgc -Xmx2048M en los Parámetros de tiempo de ejecución de Java. ¿Cómo puedo hacer eso en Ubuntu?

Andri
fuente

Respuestas:

6

Si no me equivoco, son los mismos en Linux. Con el comando Java tienes las 2 opciones:

  • Xmx establece el tamaño máximo de almacenamiento dinámico de memoria.
  • Xms establece el tamaño mínimo de almacenamiento dinámico de memoria.

Hacerlo -Xmx1024m -Xms128mdebería funcionar.

Aquí hay un extracto de hacer un man javaen la terminal

-Xmsn
                Specify the initial size, in bytes, of the memory allocation
                pool. This value must be a multiple of 1024 greater than 1MB.
                Append the letter k or K to indicate kilobytes, or m or M to
                indicate megabytes. The default value is chosen at runtime
                based on system configuration. For more information, see
                HotSpot Ergonomics
                Examples:

                       -Xms6291456
                       -Xms6144k
                       -Xms6m

 -Xmxn
                Specify the maximum size, in bytes, of the memory allocation
                pool. This value must a multiple of 1024 greater than 2MB.
                Append the letter k or K to indicate kilobytes, or m or M to
                indicate megabytes. The default value is chosen at runtime
                based on system configuration. For more information, see
                HotSpot Ergonomics
                Examples:

                       -Xmx83886080
                       -Xmx81920k
                       -Xmx80m

Así que básicamente resume las dudas usando los mismos parámetros.

Para usar esto, vaya a un terminal y escríbalo con un programa jar. En mi ejemplo estoy usando el servidor de Minecraft: java -Xms1024M -Xmx2048M -jar minecraft.jar.

Aquí hay una imagen de lo que sucede:

ingrese la descripción de la imagen aquí

Debo señalar que los parámetros son sensibles a mayúsculas y minúsculas . Entonces xmx1024M no es lo mismo que Xmx1024M.

Luis Alvarado
fuente
Bueno, no pregunté qué parámetros debería usar. Le pregunté dónde debería escribir los parámetros. Si escribo -Xmx1204m -Xms128m, dice comando desconocido.
Andri
Por su pregunta, parecía que ya sabía dónde escribirlos, ya que los estaba usando. Lo siento. Actualicé la respuesta para incluir una imagen de la salida del comando y la línea de comando completa para java y parámetros. Todo esto está escrito desde la terminal.
Luis Alvarado
10

Lo mismo se aplica en Linux. Si desea que las opciones sean permanentes, puede exportar la JAVA_OPTSvariable de entorno.

Recomiendo hacerlo por usuario. Modifique el .profilearchivo en su directorio de inicio (o .bash_profilesi existe y usa bash) para incluir esta línea:

export JAVA_OPTS='-Xincgc -Xmx2048M'

Después de configurar esto, debe reiniciar las sesiones de shell para que se aplique.

Alternativamente, también puede modificar el perfil de todo el sistema en / etc / profile.

Editar: la configuración del complemento del navegador Java se define en el Panel de control de Java: http://docs.oracle.com/javase/1.4.2/docs/guide/plugin/developer_guide/control_panel.html .

jjmontes
fuente
¿Cómo se aplica lo mismo a Linux? No puedo ir al Panel de control, abrir Java y cambiar la configuración. ¿Qué debo hacer?
Andri
1
Si no me equivoco, ese panel de control se aplica solo al complemento de Java para el navegador. Si eso es lo que busca, se encuentra en / jre / bin / ControlPanel ( docs.oracle.com/javase/1.4.2/docs/guide/plugin/developer_guide/… )
jjmontes
Eso no es lo que quise decir. Todo lo que necesito saber es cómo podría hacer que Java pueda usar más RAM de la que usa ahora.
Andri