R

Configurar la máquina virtual de Java en R

Existen múltiples paquetes de R que utilizan la máquina virtual de Java para trabajar. Una mala configuración de esta puede provocar que no funcione bien. A continuación se explican en un par de trucos para configurar la máquina virtual de Java en R y poder evitar problemas.

Introducción

Java es uno de los lenguajes de propósito general más populares en la actualidad. Una de sus principales propiedades es la independiente de la plataforma sobre la que corren los programas. Esto se consigue porque estos corren en sobre una máquina virtual. El código escrito en sistema operativo puede correr sin cambios en todos aquellos para los que existe una máquina virtual. La portabilidad hace que se pueda utilizar desde R u otros lenguajes para realizar tareas específicas. Por ejemplo, hace poco se comentó cómo utilizar Java para acceder a las bases de datos.

Para utilizar el lenguaje Java directamente desde R se puede utilizar el paquete rJava. Su popularidad se puede apreciar en las decenas de paquetes del CRAN dependen de este. Lo que indica que la máquina virtual de Java se utiliza mucho desde R. Pudiendo ser utilizada en muchas ocasiones sin que el usuario se de cuenta de ello.

Una mala configuración de la máquina virtual de Java puede provocar que cuando sea necesario utilizar la misma no se obtengan los resultados.  Por ejemplo, utilizar una versión incorrecta de la máquina virtual o cuando esta no tiene la memoria suficiente.

Obtención de la versión de la máquina virtual de Java en R

Utilizar una versión correcta de la máquina virtual es importante al emplear Java. Por ejemplo, para acceder a una base de datos se ha de importar un controlador JDBC que ha de ser compatible. Obtener la versión de Java desde R es relativamente fácil de hacer, simplemente se ha de instalar el paquete rJava y ejecutar el siguiente código:

require(rJava)
.jinit()
jObj = J('java.lang.System')
ver = jObj$getProperty('java.version')

Al ejecutar este código inicialmente se importa el paquete rJava y se utiliza la función .jinit() para inicializar la máquina virtual de Java. Posteriormente se guarda en la variable ver una cadena de texto con la versión de la máquina utilizado por R.

Configuración de la memoria de la máquina virtual de Java en R

La memoria es un recurso valioso que ha de ser gestionado inteligentemente. La memoria asignada por defecto a la máquina virtual de Java puede ser insuficiente para ciertas tareas. En caso de que esto suceda el código Java se parará generando una excepción. Para evitar esto se ha de asignar más memoria a la máquina virtual. En esta situación lo primero es consultar la memoria disponible mediante el comando:

options()$java.parameters

Obteniéndose generalmente una respuesta de la forma:

“-Xmx512m”

Lo que indica que la memoria máxima disponibles es de 512Mb. En caso de que se desee aumentar la memoria máxima hasta los 2Gb se puede utilizar el comando

options( java.parameters = "-Xmx4g" )

Además se pueden utilizar las siguientes opciones para configurar la memoria de la máquina virtual de Java:

  • -Xms3024m (memoria mínima)
  • -Xmx3024m (memoria máxima)
  • -XX:PermSize=2222m (mínimo heap)
  • -XX:MaxPermSize=2222m (máximo heap)
  • -XX:MaxNewSize=200m (memoria máxima para objeto)
  • -XX:NewSize=100m (memoria mínima para objeto)

Conclusiones

En esta entrada se ha visto dos trucos para configurar la máquina virtual de Java en R. No es necesario cambiar la configuración de esta, pero conocer cómo hacerlo puede evitar quebraderos de cabeza en muchas ocasiones.

Imágenes: Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Java

Recent Posts

Data Lake y Data Warehouse: diferencias, usos y cómo se complementan en la era del dato

En la era del dato, las organizaciones se enfrentan al reto de gestionar volúmenes masivos…

2 días ago

Documentar tu API de Express con TypeScript usando OpenAPI (Swagger)

En la serie Creación de una API REST con Express y TypeScript construimos una API…

4 días ago

Curiosidad: El sesgo de supervivencia, o por qué prestar atención sólo a los que “llegaron” puede engañarte

Durante la Segunda Guerra Mundial, la Fuerza Aérea de Estados Unidos quería reforzar sus aviones…

1 semana ago

Cómo abrir una ventana de Chrome con tamaño y posición específicos desde la línea de comandos en Windows

En muchas situaciones —ya sea para grabar un tutorial, tomar capturas de pantalla profesionales, probar…

2 semanas ago

La Paradoja del Cumpleaños, o por qué no es tan raro compartir fecha de nacimiento

Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…

2 semanas ago

Programador de tareas de Windows: Guía definitiva para automatizar tu trabajo (BAT, PowerShell y Python)

En el trabajo diario con ordenadores, es común encontrarse con tareas repetitivas: realizar copias de…

3 semanas ago

This website uses cookies.